NEWS
Gosund Verbindung MQTT
-
Hallo,
ich habe einige mit Tasmota geflashte Gosund SP111 Steckdosen die alle per Sonoff Adapter eingebunden sind. Die verlieren manchmal die MQTT Verbindung zum ioBroker (blinken blau) und sind dann ärgerlicherweise nicht mehr steuerbar. Sie sind aber dennoch per Webinterface erreichbar. Ich habe mittlerweile ein Script laufen das, wenn alive=false ist per http steuert. Seit dem funktioniert das auch.
Wie kann das sein? -
Vielleicht den MQTT-Adapter testen und schauen, ob die Daten dort auch irgendwann nicht mehr ankommen.
Ansonsten welche Tasmota-Version installiert?
Viele Grüße
Florian -
@florianshj Tasmota Version ist aktuell die 10.
Mittlerweile weiß ich dass Tasmota bei MQTT kein QoS kann. Daher senden vermutlich sowohl die Devices als auch der Adapter die Messgae ohne eine Bestätigung zu erwarten. -
mal in der Console und im Log nachgeschaut was da wirklich los ist ?
Blau ist eigentlich Wlan. -
@rushmed blau blinken bedeutet auch, dass der mqtt server nicht erreichbar ist, kannst du ganz einfach nachvollziehen, wenn du den sonoff adapter mal stoppst. dann blinken alle blau, bis du den adapter wieder startest.
also anscheinend wlan ok, aber iobroker nicht erreichbar oder der sonoff adapter haengt mal wieder..
ich lass den alle paar stunden neu starten.. dann hast du fuer den moment des neustarts zwar auch mal nen ausfall aber das laeuft anschliessend wieder stabil. -
Auch ohne QoS sollte das problemlos und stabil funktionieren. Ich würde ab Deiner Stelle den MQTT-Adapter installieren, einen unterschiedlichen Port wählen und eine Steckdose zum Test dorthin die MQTT-Daten senden lassen. Könnte helfen, die Ursache zu finden.
Viele Grüße
Florian -
@rushmed wie viele Geräte hast du in Summe am Sonoff-Adapter und auf was für Hardware läuft dein ioBroker?
Der Sonoff-Adapter ist KEIN MQTT Broker, er simuliert nur einen für die Tasmota-Geräte. Ich verbreite hier Forum seit Tagen die These das der Adapter die Meldungen seriell abarbeitet und wenn zu viele in zu kurzer Zeit kommen ist er überfordert und Antwortet den MQTT-Clients = Tasmota nicht schnell genug.
Wenn du es einrichtest und alle nach und nach hinzufügst ist alles ok. Dann halte den Adapter mal 30 Sekunden an und danach versuchen quasi alle gleichzeitig sich beim Adapter anzumelden. Antwortet der mal nicht schnell genug versuchen die Tasmota-Geräte sich wieder einzuloggen und machen es eigentlich nur noch schlimmer ...
Ich nutze deshalb den Mosquitto-MQTT Broker, der kann das ab. Und die Auswertung (was der Sonoff-Adapter machen würde) per eigenes Skript - und zwar pro Gerät ein eigenes Skript.
Nach meiner Theorie das der Sonoff-Adapter seriell abarbeitet (weil ein Prozess) müsste man den ggf. mal umstricken das der einen Subprozess pro Gerät startet - falls das geht. -
@bananajoe Hi, das entspricht ganz meiner Erfahrung....
Muss mir den Mosquitto mal ansehen.. hab 135 Tasmota Devices, da geht schon was ab..
Den Sonoff Adapter lasse ich 2x am Tag neu starten, sonst haengt er sich auf.. -
Hatte gerade wieder das Problem, wollte WiFi-Plug6 Per ioBroker Sonoff Adapter steuern aber es hat nicht fünktioniert. Es war eine Gruppe von Gosunds die geschaltet werden soll, der eine ging, der andere nicht. Ich habe auch mehrmals versucht ein und aus zu schltaen, es hat immer nur einer reagiert. Dher glaube ich die Warteschlangenthese noch nicht.
Per Webinterface lief es sofort.
Lt. Log war WiFi-Plug6 um 7:20 Uhr nicht mit dem Sonoff Adapter verbunden.Hier noch die ganzen Warnings die aktuell vorliegen:
sonoff.0 2021-11-02 07:27:29.364 warn Client [WiFi-Plug4] Received puback for unknown message ID: 21026 sonoff.0 2021-11-02 07:27:29.363 warn Empty packet received: undefined sonoff.0 2021-11-02 07:27:29.363 warn Client [WiFi-Plug4] Received pubcomp for unknown message ID: 11298 sonoff.0 2021-11-02 07:27:29.363 warn Client [WiFi-Plug4] Received pubcomp for unknown message ID: 21874 sonoff.0 2021-11-02 07:27:29.362 warn Empty packet received: undefined sonoff.0 2021-11-02 07:27:29.362 warn Client [WiFi-Plug4] Received puback for unknown message ID: 29547 sonoff.0 2021-11-02 07:25:45.182 warn Empty packet received: undefined sonoff.0 2021-11-02 07:24:46.342 warn Empty packet received: undefined sonoff.0 2021-11-02 07:24:46.341 warn Empty packet received: undefined sonoff.0 2021-11-02 07:24:46.328 warn Empty packet received: undefined sonoff.0 2021-11-02 07:24:45.213 warn Client [WiFi-Plug4] Received puback for unknown message ID: 30574 sonoff.0 2021-11-02 07:24:45.212 warn Client [WiFi-Plug4] Received pubcomp for unknown message ID: 28002 sonoff.0 2021-11-02 07:22:58.064 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:58.063 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:53.620 warn Old client WiFi-Plug9d with secret 1635834120376_669 sends publish. Ignore! Actual secret is 1635834156321_9276 sonoff.0 2021-11-02 07:22:52.261 warn Old client WiFi-Plug9d with secret 1635834120376_669 sends publish. Ignore! Actual secret is 1635834156321_9276 sonoff.0 2021-11-02 07:22:52.260 warn Old client WiFi-Plug9d with secret 1635834120376_669 sends publish. Ignore! Actual secret is 1635834156321_9276 sonoff.0 2021-11-02 07:22:52.260 warn Old client WiFi-Plug9d with secret 1635834120376_669 sends publish. Ignore! Actual secret is 1635834156321_9276 sonoff.0 2021-11-02 07:22:52.259 warn Old client WiFi-Plug9d with secret 1635834120376_669 sends publish. Ignore! Actual secret is 1635834156321_9276 sonoff.0 2021-11-02 07:22:52.259 warn Old client WiFi-Plug9d with secret 1635834120376_669 sends publish. Ignore! Actual secret is 1635834156321_9276 sonoff.0 2021-11-02 07:22:50.401 warn Client [WiFi-Plug2] Received pubcomp for unknown message ID: 29549 sonoff.0 2021-11-02 07:22:50.372 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 14901 sonoff.0 2021-11-02 07:22:50.372 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 8762 sonoff.0 2021-11-02 07:22:50.371 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 28526 sonoff.0 2021-11-02 07:22:50.371 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 25445 sonoff.0 2021-11-02 07:22:50.370 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 29218 sonoff.0 2021-11-02 07:22:49.167 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:47.282 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:47.281 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:47.281 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:47.280 warn Client [WiFi-Plug11] Received pubcomp for unknown message ID: 8762 sonoff.0 2021-11-02 07:22:45.217 warn Client [WiFi-Plug4] Received puback for unknown message ID: 21327 sonoff.0 2021-11-02 07:22:45.217 warn Client [WiFi-Plug4] Received puback for unknown message ID: 24942 sonoff.0 2021-11-02 07:22:44.438 warn Client [WiFi-Plug1] Received pubcomp for unknown message ID: 29549 sonoff.0 2021-11-02 07:22:40.413 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:40.413 warn Client [WiFi-Plug6] Received puback for unknown message ID: 25677 sonoff.0 2021-11-02 07:22:40.413 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:40.412 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:40.412 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:33.497 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:33.496 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:33.496 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:33.495 warn Empty packet received: undefined sonoff.0 2021-11-02 07:22:33.443 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 14901 sonoff.0 2021-11-02 07:22:33.442 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 8762 sonoff.0 2021-11-02 07:22:33.441 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 28526 sonoff.0 2021-11-02 07:22:33.441 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 25445 sonoff.0 2021-11-02 07:22:33.440 warn Client [WiFi-Plug5] Received pubcomp for unknown message ID: 29218 sonoff.0 2021-11-02 07:22:00.068 warn Client [WiFi-Plug4] Received pubcomp for unknown message ID: 21332 sonoff.0 2021-11-02 07:22:00.067 warn Client [WiFi-Plug4] Received puback for unknown message ID: 19269 sonoff.0 2021-11-02 07:21:52.428 warn Empty packet received: undefined sonoff.0 2021-11-02 07:21:43.064 warn Client [WiFi-Plug11] Received pubcomp for unknown message ID: 20295 sonoff.0 2021-11-02 07:21:41.892 warn Client [WiFi-Plug9d] Received puback for unknown message ID: 25460 sonoff.0 2021-11-02 07:21:37.764 warn Empty packet received: undefined sonoff.0 2021-11-02 07:21:37.763 warn Client [WiFi-Plug12] Received pubcomp for unknown message ID: 29285 sonoff.0 2021-11-02 07:21:20.662 warn Client "WiFi-Plug6" not connected sonoff.0 2021-11-02 07:21:17.555 warn Client [WiFi-Plug4] Received puback for unknown message ID: 25717 sonoff.0 2021-11-02 07:21:17.554 warn Empty packet received: undefined sonoff.0 2021-11-02 07:21:13.352 warn Empty packet received: undefined sonoff.0 2021-11-02 07:21:13.352 warn Empty packet received: undefined sonoff.0 2021-11-02 07:21:08.221 warn Empty packet received: undefined sonoff.0 2021-11-02 07:21:08.221 warn Client [WiFi-Plug4] Received pubcomp for unknown message ID: 28519 sonoff.0 2021-11-02 07:21:08.220 warn Client [WiFi-Plug4] Received pubcomp for unknown message ID: 30561 sonoff.0 2021-11-02 07:20:26.658 warn Client "WiFi-Plug6" not connected sonoff.0 2021-11-02 07:20:24.993 warn Client "WiFi-Plug6" not connected sonoff.0 2021-11-02 07:20:24.178 warn Client "WiFi-Plug6" not connected sonoff.0 2021-11-02 07:20:19.462 warn Client "WiFi-Plug6" not connected sonoff.0 2021-11-02 07:10:53.663 warn Old client WiFi-Plug4 with secret 1635833357140_7 sends publish. Ignore! Actual secret is 1635833452917_355 sonoff.0 2021-11-02 07:10:53.662 warn Old client WiFi-Plug4 with secret 1635833357140_7 sends publish. Ignore! Actual secret is 1635833452917_355 sonoff.0 2021-11-02 07:10:53.662 warn Old client WiFi-Plug4 with secret 1635833357140_7 sends pingreq. Ignore! Actual secret is 1635833452917_355 sonoff.0 2021-11-02 07:10:53.598 warn Old client WiFi-Plug4 with secret 1635833357140_7 sends publish. Ignore! Actual secret is 1635833452917_355 sonoff.0 2021-11-02 07:10:53.597 warn Old client WiFi-Plug4 with secret 1635833357140_7 sends publish. Ignore! Actual secret is 1635833452917_355
Das System ist ein Pi4 8GB
Ich habe etwa 20 Tasmota Geräte. -
@ilovegym eventuell müsste man das auf mehrere Sonoff-Adapter verteilen ... aber wo bei einem System die magische Grenze liegt wüsste ich auch nicht. Ist dann halt umständlich.
Ich selbst mache es so: https://forum.iobroker.net/topic/48945/tasmota-steckdosen-per-mqtt-javascript-direkt-ansteuern/
Das hieße bei dir du 120x mal so ein Skript starten müsstest (ich habe auch Varianten für LED-Streifen usw).Vorteil bei mir ist das ich seit dem keine Performanceprobleme mehr habe mit den Tasmotas
-
@rushmed das hatte ich früher auch, (mit früher meine ich, als noch ne Fritzbox am Start war), geschultet dass das Netzwerk überlastet war bzw der Kanal, als die ein oder andere Wlan Cam dazu kam
ähnliches hatte ich kürzlich auch mit meinem Unifi, nach nem kompletten Upgrade(Firmeware) der Unifi Komponenten sowie Kanalverteilung läuft es nun wieder -
@bananajoe sagte in Gosund Verbindung MQTT:
120x mal so ein Skript starten müsstest
kann ja auch nicht die lösung sein. würde doch das gesammte system belasten. oder seh ich das falsch?
-
@da_woody die Skripte laufen ja nicht die ganze Zeit sondern stehen quasi auf Bereitschaft, erst wenn die getriggert werden machen die was.
Mein Javascript-Adapter verbraucht 220MByte, bei über 150 aktiven Scripten,Mein ioBroker ist eine Ubuntu-VM mit 3 CPU-Kernen (2.1GHz),
der iobroker.js-controller bei 1 bis 11.,7 % aus (das müsste aber ja der ioBroker selbst sein)
der io.javascript.0 liegt bei 2 bis 6 % Auslastung, -
@bananajoe sagte in Gosund Verbindung MQTT:
die Skripte laufen ja nicht die ganze Zeit sondern stehen quasi auf Bereitschaft
wahrscheindlich bin ich dafür wirklich zu dämlich. bereitschaft, ok, dann wird was überwacht. braucht doch auch systemzeit.
k, mit bißchen nachdenken, ein adapter macht das ja auch so. waiting for...
find aber, mit einem adapter ist es einfacher, als 120 scripte zu basteln...
vllt lieg ich da falsch, aber wenn alles über scripte geht, wozu dann adapter?
soll keine kritik sein, ich wills nur verstehen. fette hochachtung, der scripte/blocklys basteln kann! -
@Rushmed
Ich habe nur 3 Tasmota Geräte - aber ich nutze auch den mqtt Adapter in Kombination mit dem mosquitto Broker.
Ich hab auch immer gesagt wie @BananaJoe dass der Sonoff kein MQTT-Adapter ersetzt bzw. auch nicht ist - aber diese Kritik wird hier nicht gerne gesehen.@bananajoe sagte in Gosund Verbindung MQTT:
@rushmed wie viele Geräte hast du in Summe am Sonoff-Adapter und auf was für Hardware läuft dein ioBroker?
Der Sonoff-Adapter ist KEIN MQTT Broker, er simuliert nur einen für die Tasmota-Geräte. Ich verbreite hier Forum seit Tagen die These das der Adapter die Meldungen seriell abarbeitet und wenn zu viele in zu kurzer Zeit kommen ist er überfordert und Antwortet den MQTT-Clients = Tasmota nicht schnell genug.
Wenn du es einrichtest und alle nach und nach hinzufügst ist alles ok. Dann halte den Adapter mal 30 Sekunden an und danach versuchen quasi alle gleichzeitig sich beim Adapter anzumelden. Antwortet der mal nicht schnell genug versuchen die Tasmota-Geräte sich wieder einzuloggen und machen es eigentlich nur noch schlimmer ...
Ich nutze deshalb den Mosquitto-MQTT Broker, der kann das ab. Und die Auswertung (was der Sonoff-Adapter machen würde) per eigenes Skript - und zwar pro Gerät ein eigenes Skript.
Nach meiner Theorie das der Sonoff-Adapter seriell abarbeitet (weil ein Prozess) müsste man den ggf. mal umstricken das der einen Subprozess pro Gerät startet - falls das geht.Wenn Du mosquitto und den MQTT Adapter nutzt wie von @BananaJoe beschrieben, dann bekommst Du eigentlich schon alle Daten geliefert. Es geht in der Regel nur noch um die Datenpunkte unter dem cmnd Ast.
Ich nutze hier keine Skripts, sondern den Tasmota Device Manager.
https://github.com/jziolkowski/tdm/releases/tag/v0.2.11
Die Überwachung ist ja identisch - ob nun ein Datenpunkt im Sonoff Adapter oder im MQTT Adapter geändert wird ist ja egal.
Und die Werte aus den JSONs zu extrahieren, dass ist ja wohl easy:Im Übrigen braucht man zur Überwachung von 120 Geräten auch nicht 120 Skripte. In den meisten Logikmaschinen kann man mit Wildcards arbeiten, die triggern ein Skript/Flow - auch für 120 Geräte.
-
@mickym ich habe bei einer Autofahrt auch darüber nachgedacht ob nicht ein Skript alle Geräte abwickeln kann. Selbst wenn es länger dauert weil gerade 30 Geräte gleichzeitig was wollen ist das ja egal, der Mosquitto hat sich ja schon aus sicht der Tasmota-Geräte gekümmert.
Ich werde da.mal was testen
-
@bananajoe sagte in Gosund Verbindung MQTT:
@mickym ich habe bei einer Autofahrt auch darüber nachgedacht ob nicht ein Skript alle Geräte abwickeln kann. Selbst wenn es länger dauert weil gerade 30 Geräte gleichzeitig was wollen ist das ja egal, der Mosquitto hat sich ja schon aus sicht der Tasmota-Geräte gekümmert.
Ich werde da.mal was testen
Ja man muss ja auch nicht gleich ins andere Extrem verfallen. Wenn man eine Steckdose hat - dann wird sicher hauptsächlich der Power Datenpunkt interessant sein, bei Licht oder so noch was anderes. Ich wollte ja damit nur sagen, dass man weder zwingend 1 Skript noch 120 braucht - sondern vielleicht was dazwischen.
Meine MQTT Pfade sind halt wie folgt aufgebaut:
tasmota/%topic%/%prefix%/
ist nicht Standard aber das passt halt für mich besser.
So wenn ich jetzt alle POWER Datenpunkte nach meinem Schema in einem Skript abhandeln wollte, dann kann ich ja auf:
mqtt.0.tasmota.*.stat.power
oder in mqtt Schreibweise
tasmota/+/stat/power
überwachen bzw. subscriben. Über den topic muss ich halt den Wildcard wieder dem Gerät eindeutig zuordnen und dann ggf. agieren.
Standard ist glaub umgekehrt.
tasmota/%prefix%/%topic%/
dann wäre der Selektor halt
mqtt.0.tasmota.stat.*.POWER
-
@mickym mhh ganz so einfach wird das auch nicht. Ich habe da auch jede Menge Tasmota-Geräte dazwischen die keine Steckdosen etc. sind.
Also müsste ich mir eine Erkennung bauen oder am Anfang eine Liste welche Geräte berücksichtigt werden sollen.Eigentlich also den Sonoff-Adapter, nur das der nicht selbst MQTT macht sondern man ihn auf die Datenpunkte des MQTT-Adapters loslässt.
Pffffft klingt nach einem Adapter-Projekt ... ich baue mir erst einmal ein Skript-Prototyp dafür. Als erstes müsste ich testen ob das mit dem einem Skript dann so performt wie ich mir das vorstelle. Ich verarbeite ja bisher ja nicht nur die /stat/ sondern auch die /tele/ um zum Beispiel den Power-Status auch von Geräten zu bekommen die nie geschaltet werden.
Und dann muss auch noch die Firmware-Version berücksichtigt werden weil z.B. die INFO1 Meldung ab Firmware 9.5 anders aussieht als bis 9.3.1
Aber klingt nach einem machbaren Projekt in welchen ich meine JavaScript Kenntnisse vertiefen könnte.
-
@bananajoe Na aber das ist doch egal - auch tele DP - kannst ja alles mit Wildcard triggern lassen. Also wie gesagt meine Anregung war ja nur - nicht alles (120 Skripte) oder eins, sondern halt vielleicht eine funktionale Zusammenstellung. Letztlich kannst ja bei Deinen einzelnen Skripten bleiben oder auch nur eines nutzen.
Die tele Punkte sind bei mir ja bei jedem Device dieselben: