Laptop oder weitere Raspi's in Domoticz einbinden

  • Hallo,

    Ich habe Domoticz auf meinem Raspi Nr.1 laufen. Nun möchte ich gern die CPU-Temperatur von Raspi 2 und 3 (Buster ohne Domoticz) über Domoticz überwachen , also Raspi 2+3 als Garäte in Domoticz einbinden.

    Das gleiche würde ich auch gern für meinen Laptop( Windows) machen. Das Menü der Hardware > Typ bietet mir da keine Möglichkeit an. Geht das überhaupt? Und wenn ja, wie. Wäre für Hilfe dankbar.

    Miranda

    Raspberry Pi mit Domoticz, angeschlossen mehrere Nodemcu mit Sensoren, Tasmota geflashte Sonoff Pow's und Sonoff S20

  • Hi

    soweit ich weiß kommuniziert Domoticz mit MQTT in JSON Format?:/

    Um die Raspi Temperaturen darzustellen, brauchtest du auf diesen eigentlich nur einen MQTT Client, z.B. Mosquitto.

    Und dann z.B. mit nem Cronjob die Temperatur zyklisch in JSON Format an Domotics senden lassen.

    Beispiel-bash Script das mit cronjob aufgerufen wird:

    Bash
    #!/bin/bash
    TMP=$(cat /sys/class/thermal/thermal_zone0/temp | cut -c -2)
    #MQTT-Beispiel:
    mosquitto_pub -h <ip-domotics>  -t "domoticz/in" -m '{ "idx" : <??>, "value" : $TMP }'
    #HTTP-Beispiel:
    curl http://<ip-domoticz>:<port>/json.htm?type=command&setuservariable&idx=<??>&value=$TMP

    Ob jetzt der Syntax fürs JSON stimmt weiß ich leider nicht. Nur mal schnell als Beispiel gegoogelt. Mit der Domoticz API kenne ich ich mich leider nicht aus.

    (Darf gerne jemand der es besser weiß korrigieren)

    Unter Windows, muss ich leider auch passen aber ich schätze da wird's um einiges schwerer.


    EDIT:

    Ich glaub man kann Werte aber auch per HTTP an den Domoticz schicken. Dann bräuchte es nur einfach nen Cronjob fürs zyklische senden und eben das Script das die URL mit dem Temp Wert im passenden Format via curl überträgt.

    Wenn nicht zyklisch gesendet werden soll, sondern bei ner Wertänderung, braucht's dann keinen Cronjob sondern eben ein bash script in dauerschleife (while do) das z.B. den Tempwert permament liest und dann bei Änderung sendet (MQTT/HTTP).

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Danke. Das könnte schon ein Variante sein, die ich mal versuchen kann. MQTT installieren ist ja kein Problem. Und mit json-scripts

    Raspberry Pi mit Domoticz, angeschlossen mehrere Nodemcu mit Sensoren, Tasmota geflashte Sonoff Pow's und Sonoff S20

  • Wenn ich so drüber nachdenke würde ich das eher mit ner Dauerschleife als mit nem cronjob machen:

    Jetzt wird alle 15 Sekunden (sleep) die Temperatur ausgelesen. Hat sie sich seit dem letzten senden verändert wird übertragen ansonsten nicht.

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    Einmal editiert, zuletzt von HoerMirAuf (14. April 2021 um 11:37)

  • Vielen Dank für das Sscript, das ich nur schwer hinbekommen hätte.

    Ich habe nun bei Raspi1 ein Dummy mit Device - Temperatur erstellt. Die IDX eingetragen und auch die IP (jeweils ohne <>) des Raspi1, Script auf Raspi2 gespeichert und ausführbar gemacht.

    Noch ein "echo $TMPN" zugefügt.

    Die Werte werden im Terminal alle 15 sec geschrieben, aber leider zeigt sich in Domoticz keine Temperatur, dauerhaft 0.

    Die Raspis sind über Heimnetzwerk miteinander verbunden. Müßte ich noch irgend etwas freigeben, oder woran kann es liegen?

    Raspberry Pi mit Domoticz, angeschlossen mehrere Nodemcu mit Sensoren, Tasmota geflashte Sonoff Pow's und Sonoff S20

  • Zu Domoticz kann ich dir leider nichts sagen ... mal sehen ob sich dazu noch jemand meldet.

    Ich glaub JoergZ arbeitet mit Domoticz :/

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Und mafrei noch mehr als ich. Vielleicht schaut er auch mit rein. Ich mache eher direkt in MQTT und Python- und Bash-Scripten. Du musst in Domoticz auf jeden Fall einen virtuellen Sensor eingeben, damit du eine IDX-Nummer hast. Von welchem Typ der Sensor sein muss, wird man vermutlich experimentell herauskriegen müssen. Dann wird es wohl am besten klappen, wenn der Raspi die Werte über die HTTP-Schnittstelle von Domoticz schickt z. B. mit dem Programm curl. Eine Dokumentation zum API findest du hier. Ein paar Infos, wie man mit curl Nachrichten an den Domoticz-Server sendest, findest du hier: RE: Nachricht von NodeMCU an Domoticz senden wobei in dem Beispielcode XXX die IP des Domoticz-Servers ist und Y die IDX des vitrtuellen Sensors.

  • . B. mit dem Programm curl. Eine Dokumentation zum API findest du hier.

    Ah, danke 4 Info. Ein curl Beispiel hatte ich oben schon angeführt. Vielleicht solltest du 4miranda es damit mal versuchen

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Hatte ich übersehen. Auf der Domticz Seite wird die Übertragung eines Messwertes per MQTT so dokumentiert:

    Code
     Then publish a temperature measurement to the virtual sensor idx noted above (example idx 1) like:
    
    mosquitto_pub -h localhost -m '{ "idx" : 1, "nvalue" : 0, "svalue" : "25.0" }' -t 'domoticz/in'

    Es hängt allerdings auch vom Sensor ab. Für einen DHT11 (auch bei einem SI7021) Sensor sieht der JSON-Ausdruck bei mir so aus:

    Code
    mosquitto_pub -h 192.168.178.20 -m '{ "idx" : 2, "nvalue" : 0, "svalue" : "25.0;70.00;3" }' -t 'domoticz/in'

    Also svalue muss gefüllt werden mit Temperatur (25.0), Luftfeuchtigkeit (70.00). Der dritte Wert (3) sorgt für die Anzeige "Nass". Die Werte können zwischen 0 und 3 liegen. Es hängt also auch vom Sensortyp (in Domoticz) ab, welche Werte übermittelt werden (müssen). Fehlende Werte führen u. U. zu Null-Anzeigen.

  • Bin am probieren :)

    Trotz vieler Versuche mit unterschiedlichen Varianten hat sich der Erfolg noch nicht eingestellt. Zumindest bin ich sicher, dass die Verbindung zwischen beiden Raspis besteht. Habe dazu einen virt. Sensor als Text erstellt und unter svalue einen "TEXT" eingetragen. Wird brav angezeigt.

    Setze ich die idx auf meinen Temp-idx (LaCrosse TX3) und trage bei svalue = $TMPN ein passiert nichts. Bei svalue="88,88" wird der WEert ausgegeben. lOffensichtlich muß ein numerischer Wert rein, oder ?

    Raspberry Pi mit Domoticz, angeschlossen mehrere Nodemcu mit Sensoren, Tasmota geflashte Sonoff Pow's und Sonoff S20

    Einmal editiert, zuletzt von 4miranda (15. April 2021 um 15:33)

  • Probier mal (sollte gehen)

    curl -s "http://192.168.178.175:8080/json.htm?type=command&param=udevice&idx=528&nvalue=0&svalue=$TEMP"

    IP und IDX anpasen !

    sonst wie oben schon geschrieben.

    (evtl. vorher sudo apt-get install jq).

    noch ne simple Frage stehe gerade auf dem Schlauch, suche die Einstellung Tasmota beim drücken schalte ON, beim loslassen auf OFF

    Jemand eine Idee?

    grüsse aus Heidelberg

    ca. 100 Tasmota Geräte teilweise mit SML Script.

    Alexa, Sonos, Pilot APP zur Steuerung, Domoticz und TasmoAdmin auf Raspberry mit Docker

  • noch ne simple Frage stehe gerade auf dem Schlauch, suche die Einstellung Tasmota beim drücken schalte ON, beim loslassen auf OFF

    Jemand eine Idee?

    Als Switch nicht als Button konfigurieren

    und switchmode auf 1 (follow) oder 2 (inverted follow)

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Drum geht das nicht bei mir, habe an einem Wemos 8 Relais installiert die dortigen Buttons wollte ich nur beim drücken schalten, da ich diese mit RF-Bridge steuere.

    Mal schaun wie ich das umgehen kann.

    grüsse aus Heidelberg

    ca. 100 Tasmota Geräte teilweise mit SML Script.

    Alexa, Sonos, Pilot APP zur Steuerung, Domoticz und TasmoAdmin auf Raspberry mit Docker

  • mafrei

    Was möchtest du umgehen? So ganz versteh ich das nicht. Du meinst, das kollidiert dann mit dem durch die RF Bridge erzeugten schaltzustand?

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

  • Also, ich steuere mit einem Wemos 8 Motoren an meinem Sofa. Mit z.B Taste 1 fährt, mit Pulsetime gesteuert, die Fusstütze raus.

    Das ganze mache ich auch it einer 433MHZ FB und der RF-Bridge. Ich möchte nun das nur so lange ich Drücke die Stütze ausfährt.

    Schwer zu erklären aber ich hoffe es verständlich gemacht zu haben. zur Erklärung noch 2 Bilder

  • Ok, bleiben wir beim Beispiel, Taster1. Die Fußstütze wird wird dementsprechend von Relais1 bedient.

    Dann eben wie erwähnt die Taste1 als Switch1 deklarieren und den Switchmode wie erwähnt. Pulstime müsste dann aber wohl raus sonst schaltet nach Ablauf ja wieder aus, egal ob noch gedrückt wird. Wenn du dann doch von der Bridge noch eine Laufzeit brauchst würde ich das mit ner Rule im Wemos lösen. Z.B anstatt von der Bridge mit MQTT oder Websend den Power1 zu bedienen eben z.B var1 mit dem gewünschten Laufzeitwert beschreiben.

    on system#boot do var1 0 endon on var1#state>0 do backlog power1 1; delay %var1%; power1 0; var1 0 endon

    Der Vorteil wäre auch das du flexibler mit den Laufzeiten wärst.

    EDIT:

    Ach ne, Pulstime wäre ja nur bei Switchmode 13 und 14 aktiv. Hab ich noch nie versucht könnte aber auch mit Pulsetime gehen wenn von der Bridge angetriggert. Müsstest du testen

    benzino77 Tasmocompiler

    Gitpod Master Release

    Gitpod Development Release

    Sonoff-Basic / Sonoff-RF / Sonoff-Touch / Sonoff S20 / PowStro Basic / MagicHome / Sonoff-RF-Bridge mit diversen 433MHz RF Sender/Empfänger / Shelly_1 / ESP-WiFi-Dimmer / Gosund SP111 / ESP12E / WEMOS D1 Mini / ESP32Cam

    Sensoren: BME280/BMP280/HC-SR501/HC-SR04/ACS712/INA219/MHZ19B/DS3231

    Alexa Sprachsteuerung

    mosquitto/bash/html/cgi auf Wyse5070

    2 Mal editiert, zuletzt von HoerMirAuf (15. April 2021 um 16:14)

  • Ok, bleiben wir beim Beispiel, Taster1. Die Fußstütze wird wird dementsprechend von Relais1 bedient.

    Dann eben wie erwähnt die Taste1 als Switch1 deklarieren und den Switchmode wie erwähnt....

    Taste1 ist ja Relais1, wenn ich daraus Switch1 mache habe ich auf der Weboberfläche keine Button mehr um das Realsi 1 zu schalten.

    grüsse aus Heidelberg

    ca. 100 Tasmota Geräte teilweise mit SML Script.

    Alexa, Sonos, Pilot APP zur Steuerung, Domoticz und TasmoAdmin auf Raspberry mit Docker

  • Taste1 ist ja Relais1, wenn ich daraus Switch1 mache habe ich auf der Weboberfläche keine Button mehr um das Realsi 1 zu schalten.

    Kann ich mir nicht erklären. Eben auf meinem Test WEMOS nachgestellt. 8 xRelais, 6 xSwitch, alle 6 haben Webbuttons.


    EDIT:

    von was reden wir bei "Taster" ?? Etwa von den Webbutton? :huh:

    Und du stellst dann das Relais1 auf Switch1 um?

    DAS kann auch nicht gehen. Der Webbutton wird immer vom Relias erzeugt.

    Ich bin von pyhsikalischen Tastern ausgegangen NICHT den Webbutton. :rolleyes:

    An den Webbuttons kannst du das nicht umstellen, das die wie ein"Schalter" arbeiten, also da Relais solange angezogen wird wie man auf den Button klickt.

    EDIT 2:

    Evtuell kann man was mit den Shuttern von der Rollosteuerung spielen.

    Also den Motor wie einen Rollomotor behandeln mit Laufzeit abgleich etc..

    Dann hast nen Slider bei dem Du einstellen kannst wie weit das Teil fährt, bzw. wie lange.

    Eben wie ein Rollo nur das eben stattdessen die Fußstütze ein oder ausgefahren wird


  • Setze ich die idx auf meinen Temp-idx (LaCrosse TX3) und trage bei svalue = $TMPN ein passiert nichts. Bei svalue="88,88" wird der WEert ausgegeben. lOffensichtlich muß ein numerischer Wert rein, oder ?

    Bash ist nicht besonders gut in der Typerkennung von Variablen. Vermutlich wird $TMPN als String interpretiert. Schau dir mal die Methoden printf oder expr. Damit kann man den Typ festlegen (%d) (Gute Informationen zu bash und printf: https://openbook.rheinwerk-verlag.de/shell_programm…4004E721F034268)

  • Kann ich mir nicht erklären. Eben auf meinem Test WEMOS nachgestellt. 8 xRelais, 6 xSwitch, alle 6 haben Webbuttons.


    EDIT:

    von was reden wir bei "Taster" ?? Etwa von den Webbutton? :huh:

    Und du stellst dann das Relais1 auf Switch1 um?


    ja, so ist das bisher. Ich werde meine deine Edit2 Methode probieren.

    grüsse aus Heidelberg

    ca. 100 Tasmota Geräte teilweise mit SML Script.

    Alexa, Sonos, Pilot APP zur Steuerung, Domoticz und TasmoAdmin auf Raspberry mit Docker