问题标签 [domoticz]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 网页设计:检测 Domoticz 开关状态的 Javascript,以及用于切换开关的 onclick 动作
我在 Raspberry Pi 上运行一个简单的 Apache Web 服务器。同样的 Pi 也安装了 Domoticz。
我目前正在为 Domoticz 开发一个 Web 前端。
出于测试目的,我在 Domoticz 中设置了一个虚拟开关,我可以通过这个 JSON URL 打开/关闭它:
在我开发的网页上,我使用引导程序制作了一些不错的切换开关按钮;
我正在尝试实现两件事,但我是一名新手程序员,对向 Google 编程以获得正确的代码知之甚少:
- 某种类型的脚本(我假设是 JavaScript),当页面加载时,检测灯是打开还是关闭并相应地设置按钮。
- 帮助按钮 onlick 代码。单击按钮时,我希望浏览器发送 JSON 调用并更改按钮,而不会看到输入上述 URL 时得到的文本输出。
bash - MQTT 到 Domoticz 与 bash
如何从文件中获取值到 Svalue 而不是 56.8?
a.sh 的代码
我试图添加 $file
但是 Domoticz-log 不能解决这个问题
php - 使用 python 请求进行身份验证 - Cookie?有效载荷?还有什么?
我尝试使用 python 登录这个网站(并在自动化一些操作之后):https ://www.rika-firenet.com/web/login
正如您在页面上看到的,html 代码是这样的:
所以我在 python 中尝试了:
我在 get 中获得了 cookie,但我有原始页面作为 post 请求的回报。
有人成功使用了这个 php 代码:
但由于我不是 php 专家,我真的不明白它为什么会起作用。
有什么线索吗?
谢谢
格雷格
ps : 解决后,Rika炉灶控制完整代码可见https://github.com/iero/Rika-Stove
networking - 使用 domoticz 控制远程 pi GPIO
此设置中有 2 个 pi:
- PI-domo:运行 domoticz
- PI-pump:使用一个 GPIO 控制泵
那些pi很远,但可以通过网络进行通信。PI-domo 对 pi-pump 有一些无密码 ssh 登录设置,并包含三个脚本:
- pump_on.sh:使用 ssh 向 gpio 发送值以打开泵并返回 1
pump_off.sh:使用 ssh 向 gpio 发送值以关闭泵并返回 0
ssh pi@pi-pump -n "echo 1 > /sys/class/gpio/gpio18/value" && echo 0
pump_status.sh:如果泵打开则返回 1,如果泵关闭则返回 0。
在 bash 中启动时,所有三个脚本都按预期工作,但我找不到如何使用 domoticz 调用它们。我创建了一个虚拟开关并将它们设置为 script:///.....[on off].sh 但 domoticz 似乎没有运行它们中的任何一个。我也找不到阅读状态的地方...
欢迎任何想法或链接到最近(工作)教程!
json - 401 未经授权的 JSON
运行下面的 bash 脚本时出现错误。
该脚本读取 DHT22 芯片的温度和湿度 dht_22.sh 并使用 json 与 Domoticz 服务器通信。所以我可以在我的 Domoticz 服务器上看到当前的温度/湿度:
当我只是在浏览器中运行 json 行时,我还会收到 401 Unauthorized 错误。我想我必须输入一些登录信息,所以我也尝试了这样的事情:
但仍然是401错误。
有人可以帮我吗?
raspberry-pi3 - domoticz 看不到节点红色 GPIO 状态,反之亦然
我有一个安装了 domoticz 和 Node-red 的 Raspbery pi3。两者都使用带有 sysfs 的 GPIO。在 domoticz 或 node-red 中将输出更改为高时,文件中的值设置为 1。 (/sys/class/gpio/gpio/value)
将节点红色的输出设置为高电平时,domiticz 不会反映器件中的引脚状态。在 domoticz 中将输出设置为高电平时,node-red 不会反映流中的引脚状态。
我在这里遗漏了什么还是它应该是这样工作的?我从文档中了解到,文件的使用是通过在其中设置值来使 GPIO 更通用。
domoticz - 索尼音频 API 的范围
我有一个非常基本的问题。我对 Sony STR-DN1080 很感兴趣,我想使用我自己的家庭自动化系统(例如domoticz)通过 Sony Audio API(据我所知唯一存在的)来控制它。但我不明白这个 API 是否只允许控制音频流的 AVR,或者它是否比这更广泛(也配置视频流的行为)......</p>
例如,是否可以使用 API 要求 STR-DN1080 使用 HDMI 输入 1 作为视频源,并将视频流发送到 HDMI(输出) n°2(用于投影仪)而不是 HDMI 输出 n°1(电视),同时将音频流(从 HDMI 输入 1)发送到 AVR 处理的扬声器?
稍后(电影之后),将 AVR 设置为将视频从 Hdmi 输入 1 播放到 HDMI 输出 n°1(电视)而不是 HDMI 输出 2(投影仪),并且仅使用电视播放音频(即不激活扬声器由 AVR 处理音频)?
谁能澄清它是否可以用 API 完成?
非常感谢
mqtt - Node-Red 中 2 个有效负载的最低值
我家里有一个物联网系统和两个温度传感器。其中一个传感器可以在阳光直射下工作几个小时。实际温度总是最低值,所以有时是 temp1,有时是 temp2。
我想要实现的是:
- 从传感器 1 读取温度(通过 MQTT)
- 从传感器 2 读取温度(通过 MQTT)
- 比较值
- 找到最低的并通过 MQTT 发送
- 回到循环阅读
对于这个例子,我可以用注入节点模拟读数
怎么做?我是 Node-Red 的新手,尝试过但没有成功。
这是我的流程:
iot - 半夜打开车库门
我在树莓派上使用稳定版的 Domoticz。
我从来没有遇到过任何重大问题,但是昨天我无法打开车库门,车库门用一个简单的开关就可以工作。应用程序的 GUI 运行良好,但车库门没有响应,我可以看到 zWave USB 灯在剧烈闪烁。
第二天早上,我在日志中看到开关在夜间在几秒钟内多次打开和关闭。似乎它将动作保留在队列中,并在设备再次响应时执行它们。
所以这是我的问题:我可以关闭这个队列吗?我不喜欢我的车库门在半夜打开和关闭。
python-3.x - 如何使用 python 脚本解决 crontab 问题或“os.execute()”问题?
我在带有 Raspbian 的 PI3b 上运行 domoticz,为了提高效率,PI3b 现在有一个 7 英寸的屏幕来显示 domoticz 行为 + 气象站信息 + 互联网预报......为了显示所有这些,我编写了一个 C++/WXWidget 应用程序温度/压力图形... 温度/压力图是用 Python3/matplotlib 绘制的,保存为 3 个 png 文件。Python 脚本读取文件中的数据并绘制/保存图形。
它在终端上运行良好......但无法使用 crontab 或来自 domoticz 的事件 lua 脚本的“os.execute()”......
我已经推送了脚本和 png 文件的所有权限/访问权限(读/写)
一个 python 脚本从 bme280 传感器读取数据,crontab 2 分钟,没问题,它适用于终端、crontab、lua 事件......
第二个脚本读取数据、绘制图表并发送 http json 命令以更新 domoticz 中的设备。这在终端上可以正常工作,但不能从 domoticz (lua os.execute()) 或 crontab 中正常工作。
在 crontab 中调用:sudo /usr/bin/python3 /home/pi/Desktop/graph.py
从 domoticz lua 脚本调用: os.execute('sudo /usr/bin/python3 /home/pi/Desktop/graph.py')
从终端它适用于 python、/usr/bin/python 或 /usr/bin/python3 (--> matplotlib)
蟒蛇--版本= 3.7.0
它看起来像许多 python 版本之间的问题,好的版本不是从 crontab 和 lua-scripts 调用的......如何修复它?
默认 python 版本为 2.7.0、3.0、3.6、3.7 已测试以检查 env/bin/path 的问题...唯一发现 urllib.urlopen 的问题已更改为“urlopen from urllib.request”