NEWS
mqtt cmnd an tasmota befehle absetzen
-
Ich habe in meinem aktiven Umgebung eine Reihe Tasmotageräte per mqtt eingebunden. Bislang habe ich bei dem mqtt Adapter aber nur Informationen gelesen und noch keine Geräte geschaltet. Ich habe jetzt einen einfachen Schalter von Sonoff mittels tasmota geflasht und per mqtt im IObroker adapter eingebunden. Es werden alle Datenpunkte angelegt und auch alle Informationen aktualisiert. Nur die Befehlsrichtung geht nicht.
Ich habe mit dem "MQTT Explorer" die Kommunikation des Brokers überwacht und sehe, dass wirklich der Befehl beim setzen des entsprechenden cmnd POWER = 1 nicht im Broker ankommt. Setze ich mittels "MQTT Explorer" die Befehle ab klappt alle.
Ich habe in einer separaten Testumgebung (tasmotagerät natürlich auf die Testumgebung abgeändert) das gleiche gemacht... da klappt alles sofort. !!!!!!
Ich habe auch nach dem Prinzip der "vergleichenden Anatomie " alles überprüft und keinen Unterschied gefunden.
Ich habe auch das Logging im Adapter im Expertenmodus mal auf "Alles" gesetzt und dann das Logfile direkt mal auf dem Gerät "gegrept": Beim Absetzen des Befehls geht definitiv nichts raus. Auch keine Fehlermeldung etc. ist für mich zu erkennen. Da es in der Testumgebung geht und ich es dort genauso mache, schließe ich einen Bedienfehler meinerseits eigentlich aus.
Hat jemand eine Idee, bevor ich jetzt alle Datenpunkte lösche und evt. noch mehr kaputt mache
Achja und alle Adapter inclusive Betriebssystem (raspi/ bookworm) sind aktuell. Sind evt. irgendwelche Performance Probleme bekannt? Der aktive iobroker (raspi 4 4GB RAM ) hat einige Adapter:
Vielen Dank für eure Mühe -
@hanand Tasmota devices binde ich in der Regel mit dem Sonoff Adapter ... Der legt viel handhabbarere Datenpunkte an ...
Anderen Port konfigurieren, als für den Mqtt Adapter, und das Tasmota Device natürlich auch auf diesen Port umkonfigurieren....
-
@martinp Danke für die schnell Rückmeldung. Den Workaround hatte ich mir auch schon überlegt.. aber da muss ich mir U.u. langsam mal was einfallen lassen. System fängt schon an zu swappen Aber mal sehen ob noch jemand eine Idee hat. Vielleicht muss ich mein über die Jahre gewachsenes System mal gründlich optimieren
-
@hanand sagte in mqtt cmnd an tasmota befehle absetzen:
dass wirklich der Befehl beim setzen des entsprechenden cmnd POWER = 1 nicht im Broker ankommt.
Wie (ganz konkret) setzt du den "Befehl" ab?
-
Der SONOFF Adapter ist kein MQTT Adapter - der interpretiert nur das was er kennt. Insofern sollte man den nicht verwenden. Einfaches Beispiel man wechselt in der mqtt Konfig der Tasmota geräte topic mit prefix und der Adapter ist aufgeschmissen.
Ansonsten alle Haken in der mqtt Konfiguration rausmachen und natürlich auch ohne ACK senden. Ansonsten Fehler schauen im Log.
Ansonsten würde ich umstieg auf mosquitto vorschlagen und den mqtt Adapter als Client umswitschen und das funktioniert seit mehreren Jahren.
Im Gegenteil wenn man mqtt nutzt, wie man es soll, kann man sich die Installation einiger Adapter sparen. Wie man an meiner Konfig sieht. (Ich nutze mqtt für Tasmota, Shellies, Owntracks, usw. ).
Wenn man die unnötigen Adapter deinstalliert, spart man auch einiges an Speicher.
-
@hanand Ja - das scheint es reale Speichernot zu geben ...
Bei mir scheint der Speicher eher nur in Ausnahmesituationen (Nächtliches Backup?) knapp zu werden ...
op - 18:23:48 up 11 days, 4:27, 1 user, load average: 1.97, 1.63, 1.95 Tasks: 48 total, 2 running, 46 sleeping, 0 stopped, 0 zombie %Cpu(s): 25.5 us, 14.1 sy, 0.0 ni, 53.1 id, 3.0 wa, 0.0 hi, 4.3 si, 0.0 st MiB Mem : 6144.0 total, 3313.6 free, 2002.1 used, 828.4 buff/cache MiB Swap: 6144.0 total, 5358.0 free, 786.0 used. 4141.9 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 348 iobroker 20 0 21.5g 329148 18048 S 12.3 5.2 28,59 iobroker.js-con 702 iobroker 20 0 21.3g 99392 17792 S 4.0 1.6 11,57 io.influxdb.0 773 iobroker 20 0 21.3g 62172 17920 R 4.0 1.0 10,51 io.sonoff.0 676 iobroker 20 0 21.4g 155384 18816 S 3.3 2.5 82:56.22 io.admin.0 94 influxdb 20 0 4044940 262092 21184 S 2.6 4.2 18,21 influxd 724 iobroker 20 0 21.4g 145476 19584 S 2.3 2.3 8,19 io.javascript.0 754 iobroker 20 0 21.4g 118868 17792 S 2.3 1.9 6,26 io.javascript.1 911 iobroker 20 0 21.0g 61376 18304 S 1.7 1.0 93:13.41 io.reolink.1 804 iobroker 20 0 21.3g 70736 18432 S 0.7 1.1 32:48.94 io.meross.0 924 iobroker 20 0 31.0g 56860 18048 S 0.7 0.9 23:30.87 io.linux-contro 1185 iobroker 20 0 21.2g 73268 18304 S 0.7 1.2 56:39.07 io.mqtt.0 779 iobroker 20 0 21.0g 39548 17536 S 0.3 0.6 54:23.52 io.operating-ho 793 iobroker 20 0 21.0g 50564 17664 S 0.3 0.8 30:16.05 io.ping.0 858 iobroker 20 0 21.3g 70980 18560 S 0.3 1.1 17:14.74 io.web.0 257762 martin 20 0 8580 4480 2560 R 0.3 0.1 0:00.91 top 1 root 20 0 168804 10368 8064 S 0.0 0.2 11:14.61 systemd 48 root 20 0 4056 2432 2304 S 0.0 0.0 0:00.01 start-networkin 50 root 20 0 270916 74092 73580 S 0.0 1.2 2:50.62 systemd-journal 71 _rpc 20 0 7880 3456 3328 S 0.0 0.1 0:02.23 rpcbind 73 root 20 0 3600 2048 1920 S 0.0 0.0 0:02.72 cron 74 message+ 20 0 9340 4352 3968 S 0.0 0.1 2:41.28 dbus-daemon 77 root 20 0 152152 3712 3328 S 0.0 0.1 0:40.61 rsyslogd 81 root 20 0 17356 7168 6528 S 0.0 0.1 1:16.72 systemd-logind 99 root 20 0 2516 1408 1408 S 0.0 0.0 0:00.00 agetty 100 root 20 0 6112 3032 2944 S 0.0 0.0 0:00.22 login 108 root 20 0 2516 1536 1536 S 0.0 0.0 0:00.00 agetty 175 root 20 0 176208 7776 5888 S 0.0 0.1 40:28.58 python3 237 root 20 0 5868 2176 2048 S 0.0 0.0 0:00.02 dhclient 310 root 20 0 42660 4076 3968 S 0.0 0.1 0:07.86 master 313 postfix 20 0 43088 6528 6400 S 0.0 0.1 0:01.62 qmgr 318 root 20 0 5052 1408 1280 S 0.0 0.0 0:00.00 dhclient 319 root 20 0 5740 2304 1920 S 0.0 0.0 0:06.60 dhclient 341 martin 20 0 5356 3200 2560 S 0.0 0.1 0:00.32 bash 713 iobroker 20 0 21.0g 46804 18432 S 0.0 0.7 14:15.72 io.email.0 739 iobroker 20 0 21.1g 90300 17664 S 0.0 1.4 14:44.24 io.mqtt-client. 755 iobroker 20 0 21.3g 68348 18560 S 0.0 1.1 51:27.58 io.backitup.0 831 iobroker 20 0 21.0g 46252 17536 S 0.0 0.7 13:24.66 io.discovery.0 842 iobroker 20 0 21.1g 56160 17920 S 0.0 0.9 22:10.85 io.fritzdect.0 857 iobroker 20 0 21.0g 47036 17664 S 0.0 0.7 16:53.48 io.snmp.0 871 iobroker 20 0 21.0g 51888 17920 S 0.0 0.8 17:22.16 io.tradfri.0 886 iobroker 20 0 21.1g 82564 17664 S 0.0 1.3 17:18.02 io.simple-api.0 887 iobroker 20 0 21.1g 49852 18304 S 0.0 0.8 14:04.79 io.vis-2.0 899 iobroker 20 0 21.1g 62312 17920 S 0.0 1.0 144:46.15 io.fb-checkpres 917 iobroker 20 0 21.0g 60848 18560 S 0.0 1.0 93:06.67 io.reolink.0 1089 root 20 0 15432 7936 7552 S 0.0 0.1 0:06.14 sshd
-
@mickym sagte in mqtt cmnd an tasmota befehle absetzen:
Ansonsten alle Haken in der mqtt Konfiguration rausmachen und natürlich auch ohne ACK senden. Ansonsten Fehler schauen im Log.
Du hast wirklich diese beiden Haken auch gelöscht:
-
@marc-berg
Wie gesagt, in der Testumgebung geht es !!!! -
@martinp Ja, definitiv... Habe auch so ein Grundsatzproblem vermutet.. da der Befehl auch bei anderen Tasmotageräten nicht geht (wird da nicht gebraucht, habe es natürlich trotzdem mal versucht)
-
@hanand Ja, hier nochmal der letzte Stand:
Ich habe auf meiner Testumgebung mal ein komplettes Restore des backups des Produktivsystems gemacht.. Ergebnis: es ging auch nicht.
Dann habe ich dem mqtt Adapter gelöscht und neu angelegt --> jetzt geht es..
Jetzt muss ich mir Gedanken machen, welche Konsequenzen das im Produktivsystem hat.
Wahrscheinlich muss ich danach nur die Influx konfiguration wieder anpassen.
Vielen Dank an alle die sich dem Thema so schnell angenommen haben. Meist reicht es ja, wenn man mal "laut" darüber nachdenken kann