NEWS
Anderen Raspberry ohne IOBroker steuern möglich?
-
Hallo. Bisher pulle ich mit meinem NAS Raspi per HTTP Request jede Sekunde über die IOBroker SimpleAPI den Status eines SonOff Schalters. Das macht mir einfach zuviel Traffic im Netz und beschäftigt unnötig den NAS Raspi und den IOBroker Raspi.
Gibt es eine Möglichkeit Statusänderungen aus IOBroker an den NAS Raspi zu pushen? Gibt es Beispiele?
Danke.
Gruß Jürgen
-
Was meinst du mit NAS raspi?
Werte austauschen könnte mit MQTT oder Multihost Setup gehen
Sent from my iPhone using Tapatalk
-
Was meinst du mit NAS raspi?
Werte austauschen könnte mit MQTT oder Multihost Setup gehen
Sent from my iPhone using Tapatalk `
Ich habe z.Z. 5 verschiedene Raspberrys und BananaPis im Betrieb. Auf einem RaspberryPi ZeroW läuft IOBroker bisher einwandfrei (beim BananaPi gab es dagegen Probleme - vermutlich wegen der vielen laufenden anderen Dienste auf dem Pi).
-
Den RaspberryPi ZeroW nenne ich zur Vereinfachung IOBroker Raspi
-
Beim zweiten "Raspi" werden alle GPIO Ports verwendet, außerdem läuft hierüber die Kommunikation (TelegramBot, VPN Server, MailServer) und eben einen NAS Dienst (u.a. auch Webradio Server via IceCast2). Dieser besagten BananaPi ist mein NAS Raspi
Nun möchte ich die Info eines SonOff Schalters auf den zweiten "NAS Raspi" verarbeiten. Eine IOBroker Instanz wollte ich nicht mehr auf diesen Raspi installieren, da ihn das scheinbar runterzieht.Derzeit fragt der NAS Raspi alle 5 Sekunden den IOBroker Raspi nach dem Status - dabei ändert sich der Status nur ca. 2x am Tag - dafür 17.280 HTTP Requests pro Tag steht in einen schlechten Verhältnis :oops:
-
-
Eine IOBroker Instanz wollte ich nicht mehr auf diesen Raspi installieren, da ihn das scheinbar runterzieht.Derzeit fragt der NAS Raspi alle 5 Sekunden den IOBroker Raspi nach dem Status - dabei ändert sich der Status nur ca. 2x am Tag `
Wie wäre es mit https://tutorials-raspberrypi.de/datenaustausch-raspberry-pi-mqtt-broker-client/ auf dem NAS Raspi und dem https://github.com/ioBroker/ioBroker.mqtt auf dem ioBroker Raspi ? Habe selbst allerdings keine Erfahrung mit MQTT. -
Die Frage wird auch womit wertest du die Nachrichten auf dem Pi aus und verarbeitest sie weiter ?
Anstaat von Pollen was du jetzt machst könntest du auch pushen. Also anstatt den Wert alle x Sekunden abfragen schickst du aus ioBroker ein Signal und den Wert wen er sich geändert hat.
Multihost bringt in deinem Fall nichts da du ioBroker ja weiter nicht nutzt um die Daten zu verarbeiten.
Mosqitto ist eine Möglichkeit und Dan halt per MQTT, oder halt einfach Daten zu dem Pi pushen denke Mal der leichteste weg…
Sent from my iPhone using Tapatalk
-
Danke. Schaue ich mir am Wochenende mal an :!:
Nachtrag 25.6.: Mist, das Wochenende wurde von der Familie kurzfristig umgeplant… Mein Kollege meinte noch, dass eine freigegebene RAM Disk sich gut zum Übergeben von einfachen Daten eignet. Allerdings hat das IOT Protokoll einen Reiz für mich - auch weil ich beruflich mit geplanten IOT Projekten in Kontakt komme.
-
So, kam dazu mal etwas zu testen. Mosquitto auf meinen NAS Raspi läuft echt gut. Probleme macht mir das ioBroker MQTT Client Plugin. Wenn der den NAS Raspi nicht erreicht, werden Fehler geloggt - und schlimmer: Meine Javascript werden komplett gestoppt
Nun schaue ich mir das MQTT Broker Plugin an :oops:
-
Wen dein JavaScript adapter stopt gehe ich Mal davon aus daß du ein Script ohne Fehler abfangen am laufen hast ?
Sent from my iPhone using Tapatalk
-
Wen dein JavaScript adapter stopt gehe ich Mal davon aus daß du ein Script ohne Fehler abfangen am laufen hast ? `
Richtig. Die Scripte sind nur mit Blockly zusammengebaut - den Javascript Code habe ich nicht nach bearbeitet und mit einer Fehlerbehandlung erweitert :shock:
on({id: "sonoff.0.Sonoff-Basic-01.POWER1"/*Sonoff-Basic-01 POWER1*/, change: "gt"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setStateDelayed("sonoff.0.Sonoff-Basic-01.POWER1"/*Sonoff-Basic-01 POWER1*/, false, 600000, true); });
on({id: "sonoff.0.Sonoff-S20-02.POWER"/*Sonoff-S20-02 POWER*/, change: "gt"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; setStateDelayed("sonoff.0.Sonoff-S20-02.POWER"/*Sonoff-S20-02 POWER*/, false, 3600000, true); });
schedule("* 16-21 * * *", function () { if (getState("sonoff.0.Sonoff-Basic-02.POWER2").val == true) { setState("sonoff.0.Sonoff-Basic-02.POWER1"/*Sonoff-Basic-02 POWER1*/, true); } }); schedule("0-10 22 * * *", function () { if (getState("sonoff.0.Sonoff-Basic-02.POWER1").val == true) { setState("sonoff.0.Sonoff-Basic-02.POWER1"/*Sonoff-Basic-02 POWER1*/, false); } });
-
Hmm diese Script Schnipsel dürften JavaScript aber nicht crashen lassen.
Was kommt im Log
Sent from my iPhone using Tapatalk
-
Hmm diese Script Schnipsel dürften JavaScript aber nicht crashen lassen.
Was kommt im Log `
Dazu müsste ich das Plugin nochmal installieren. Die Log Anzeige ist bei mir mit MQTT Verbindungsfehlern vollgelaufen - die wiederholende Fehlermeldung bestand nur aus (wortlaut): "Konnte nicht verbinden" und "versuche es nochmal" :oops: