Hallo,
danke, das hatte ich dann falsch in Erinnerung!
Gruß,
Hendrik
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues MQTT Plugin
Einklappen
X
-
Das ist in MQTT so erstmal nicht vorgesehen. Das ginge nur, wenn das im Nutzdaten Protokoll (also in der Payload des MQTT Telegramms) für das/von dem Device implementiert wird.
Einen Kommentar schreiben:
-
Hallo,
ist es mit dem mqtt-plugin möglich, die Lebensdauer eines Telegramms zu begrenzen?
Ich möchte, dass eine Funktion nur innerhalb der nächsten 10 Sekunden - oder überhaupt nicht - durchgeführt wird.
Gruß,
Hendrik
Einen Kommentar schreiben:
-
Ich habe übrigens festgestellt, dass der obige Fehler dazu führt, dass MQTT nicht funktioniert. Hatte zuvor schon alles etliche Male neu gestartet und gebootet, aber MQTT hat nie reagiert. Im Log gab es beim Senden die Meldung, dass gesendet wurde, aber Befehl kam beim Gerät nicht an (auch nicht bei bisher erfolgreich getesteten Geräten wie ein weiteres shng). Einkommende Nachrichten wurden nicht gehört und somit auch nicht geloggt.
Jetzt hab ich mal die 2 Bösewicht-Items mit dem invalid Startbyte raus genommen und tadaa - läuft. Könntest dir das bitte mal ansehen? Minimalziel wäre imho, die Fehlermeldung anzuzeigen, aber ganz normal weiterzumachen.
Einen Kommentar schreiben:
-
Hm, ich tippe mal auf MQTT 3.1.1 - das einzige was ich finden konnte ist dieser Satz:
Valetudo will not receive any feedback from the broker if publishing fails due to ACL restrictions as such feedback simply isn't part of the MQTT v3.1.1 spec. MQTT v5 fixes this issue but isn't widely available just yet.
Soll ich das Item mal auf dict stellen?
Einen Kommentar schreiben:
-
Kurze Frage: Welche MQTT Protokoll Version nutzt der Staubsauger?
Was ich aus den Zeilen lese ist, dass das Item, welches die Daten empfängt anscheinend als String definiert ist, dass aber die Payload, welche vom Staubsauger kommt, sich nicht in einen String wandeln lässt.
In MQTT v3.x ist die Payload einfach ein Array of Byte, über dessen Interpretation sich Sender und Empfänger einig sein müssen.
Einen Kommentar schreiben:
-
Ich versuche gerade mit dem Roborock Staubsauger via MQTT zu kommunizieren, was großteils auch prima klappt. Bekomme aber folgenden Fehler. Ne Idee, wie das zu lösen wäre?
Code:Aug 16 21:21:32 CEST DEBUG modules.mqtt modules.mqtt.paho_client _on_log: Received SUBACK -- (__init__.py:_on_mqtt_log:597) Aug 16 21:21:32 CEST DEBUG modules.mqtt modules.mqtt.paho_client _on_log: Received PUBLISH (d0, q1, r1, m28), 'valetudo/roborock_eg/MapData/map-data', ... (461 bytes) -- (__init__.py:_on_mqtt_log:597) Aug 16 21:21:32 CEST DEBUG modules.mqtt modules.mqtt.paho_client _on_mqtt_message: RECEIVED topic 'valetudo/roborock_eg/MapData/map-data', payload 'b'x\x9c\x8d\x93M\x8b\xdb0\x10\x86\xff\xcb\x9c\x15\x90l}\xd8\xbe\xb6=\x14ZX(\xf4RB\x90m\x91\x15\xd8\x96\xb1\xb5\xdbM\x83\xff{G\xe3\x8f\xee\xe6\xd4\x83\xcc\xc3;\xe3w\xdeq\x94;\\.Mg\xe7\x19*\xf8i;\x17_\xda\xf0\xdd\x8e\xc0\xa0w\xd1~\xb6\xd1Bu\x87W7\xb4aB\xfdk\x0b\x95\xd0"g(M\xb3\x0f\x03T\x19\x83!\x0c\x8dC\x03Wf\x8d\xe1\xb58\x15\xae\xe0\'\xa9\xeb\xfadmS\x9f\xb2\\\x1a\xaeZ\xe1\x94\xe1\xb00\x98\xfd\x1f\x97l\xdf\xa0R"\xe3\x0cn+`i\xf4o\xae\xfbAu\xc5\xa0\xb37\x1c\x03\xd5\xaf\xfb\xbb\x98\x18\xe3[\xd2\x1f2\xda\xc9\xd9\x14N%\x9bx\x1bS\xa0\xdf\xb6\xeb`3M6g\x06\xad\xef\xdd\x90\x92\xcf[\x82;\xf4\x1e\xd7\x90\x06\xe7\xf5\x96"\x15H\x1e7\x95\xa5a`_\xaf\xa8q\xb5P\xcc\xbd\xbb\x14G\xb7\xd9\xba\x15\x97G\xb7\xd9W\xf9\x14^\x86\x08\x95\xd6(4\xa1\x1f\'7\xcf\xae}\xda\x03\xc9R\xb1\xe4%\xf0\xa9\xf1d\x07\xe5\x89\x8a\x1cI\x12\xa9\x83\x0cQ\xaa\x98]#RH\x8a\x8b\x8389e[\xd5\x10\x15t\xf67J\xea+YJ\x9e(\xc3\xa3\x0e\xd2\x89\xc4?\x92D8\x17\xbf\x14n\xb8M\xdbH\xac\x94#i\xa2l\xeb+\xb6,\x89\xd0\x0b\xbf\xd6{\x8d\x12\x90\xb6\x12\xbe+\xf8\x9e\x00=\xd3\xf4\x9cR\xecU"\xd2r\xd2\x8a\x9dH\x93\x87&\x0f\x8d6\x12+\xe9M\xd3\xe4\\\x10i\xda\x9fR\x9c\x17\xbc!n\x88>z\xf7x\xed\x9e\x82\x1f"\xde\xbd/\xa9|\xfbx\xf9\xd2\xaf\x9d\xca\xe9\x9dL\x19\xdcTi~>\xaea\xf3l\xa7\xab\x9b.]hlL\x7f\x9a\x85\xfd\xaf3\xd8\xe1\xda\xa1G\xc9?\xce\xd0\xfca\xc6\x14\xea\x10/c\x98\xfd:\xe1\xbc\xfc\x05d`\x06y', QoS '1', retain '1' -- (__init__.py:_on_mqtt_message:533) Aug 16 21:21:32 CEST DEBUG modules.mqtt modules.mqtt.paho_client _on_mqtt_message: subscription 'mqtt-116': {'subscriber_type': 'plugin', 'callback': <bound method MqttPlugin._on_mqtt_message of <plugins.mqtt.Mqtt2 object at 0xa7a1e7a8>>, 'payload_type': 'str', 'bool_values': None} -- (__init__.py:_on_mqtt_message:560) Aug 16 21:21:32 CEST ERROR modules.mqtt modules.mqtt.paho_client _on_log: Caught exception in on_message: 'utf-8' codec can't decode byte 0x9c in position 1: invalid start byte -- (__init__.py:_on_mqtt_log:595)Zuletzt geändert von Onkelandy; 16.08.2022, 20:32.
Einen Kommentar schreiben:
-
Hallo,
nee, den Broker habe ich nicht neu gestartet.
Das ist komisch - aber jetzt läuft es wieder.
Edit: was ich geändert habe -aber ich weiß nicht, ob es damit zusammenhängt: Ich habe das tasmota-plugin deaktiviert. Das lief aber vorher schon länger.
Gruß,
HendrikZuletzt geändert von henfri; 30.04.2022, 19:37.
Einen Kommentar schreiben:
-
Hattest Du evtl. den Broker neu gestartet bevor das Problem auftrat?
In v1.9.1 gibt es ein Problem beim Reconnect von SmartHomeNG an den Broker, nachdem die Verbindung abgebrochen war.
Das ist im kommenden Release 1.9.2 gefixt.Zuletzt geändert von bmx; 29.04.2022, 08:31.
Einen Kommentar schreiben:
-
Ja, Um wirklich zu sehen was der Broker empfängt, musst Du im Log des Brokers nachschauen. Dazu musst Du evtl. Das Logging des Brokers hochdrehen.
Einen Kommentar schreiben:
-
Hallo,
Nein, empfangen tue ich "#", also alles. Nur das grep filtert nach KWL und angezeigt wird nur etwas mit status - weil nix anderes ankommt.Zitat von Msinn Beitrag anzeigenDu sendest einen anderen Topic (/KWL-PWM/cmd) als Du mit der Mosquitto Client Software mosquitto_sub empfangen möchtest (/KWL-PWM/status)
Und wo müsste man gucken, um zu prüfen, ob der Broker das erhalten hat? Im Log vom Broker?Generell gilt übrigens: Ob ein Client (hier mosquitto_sub) etwas empfängt, sagt nichts darüber aus, ob der mosquitto Broker die Daten empfangen hat.
Wie auch immer:
Es funktioniert wieder. Ich hatte den Rechner neu gestartet -- > hat nix gebracht.
Danach habe ich smarthome neu gestartet (hatte ich vorher natürlich auch schon) - jetzt geht es erstmal wieder...
Gruß,
Hendrik
Einen Kommentar schreiben:
-
Du sendest einen anderen Topic (/KWL-PWM/cmd) als Du mit der Mosquitto Client Software mosquitto_sub empfangen möchtest (/KWL-PWM/status)
Generell gilt übrigens: Ob ein Client (hier mosquitto_sub) etwas empfängt, sagt nichts darüber aus, ob der mosquitto Broker die Daten empfangen hat.
Einen Kommentar schreiben:
-
Hallo,
hat jemand eine Idee, wie ich dieses Problem eingrenzen kann?
Ich sende in SH ein Item auf MQTT. Laut log wird das durchgeführt:
bei mosquitto scheint aber nix anzukommen:Code:2022-04-27 08:03:25 INFO modules.mqtt 'publish_topic()' - called from Plugin by 'publish_topic()' 2022-04-27 08:03:25 INFO modules.mqtt Plugin 'mqtt' is publishing topic '/KWL-PWM/cmd' with payload 'PWM,14,973' (qos=1, retain=False) 2022-04-27 08:03:25 DEBUG modules.mqtt cast_to_mqtt: data = 'PWM,14,973', type(data) = '<class 'str'>', bool_values ='None' 2022-04-27 08:03:25 INFO modules.mqtt Plugin 'mqtt' has published topic '/KWL-PWM/cmd' with payload 'PWM,14,973'
(und mehr kommt da nicht)Code:mosquitto_sub -h localhost -t "#" -v -u henfri -P xxx |grep -i kwl /KWL-PWM/status KWL-PWM_Online /KWL-PWM/status/LWT Connected
Gruß,
HendrikZuletzt geändert von henfri; 27.04.2022, 17:53.
Einen Kommentar schreiben:
-
So, habe nochmal durchgetestet. Anscheinend hatte ich gestern noch irgendwas verbastelt. mit der neuen Version der init (aus dem Dev Bereich) macht er einen sauberen reconnect nach einem disconnect. Somit läuft das MQTT Plugin wieder wenn im Hintergrund der Broker neu gestartet wird.
Nochmals vielen Dank!2022-04-26 08:32:53 WARNING modules.mqtt Disconnected from broker with returncode '7'
2022-04-26 08:33:09 NOTICE modules.mqtt Reconnected to broker
- Likes 1
Einen Kommentar schreiben:
-
Das logging von SmartHomeNG musst Du nicht aktivieren. das läuft ständig. Ein Neustart des Brokers sieht da beimmir so aus:
Code:2022-04-25 19:28:26 WARNING modules.mqtt Disconnected from broker with returncode '7' 2022-04-25 19:29:29 NOTICE modules.mqtt Reconnected to broker
- Likes 1
Einen Kommentar schreiben:

Einen Kommentar schreiben: