Thx
Teste ich und gebe Rückmeldung
Ankündigung
Einklappen
Keine Ankündigung bisher.
MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054
Einklappen
X
-
Ich war jetzt etwas ungeduldig (und wollte auch wieder mal etwas selbst versuchen
)
Wozu ein "Grundgerüst" - keep it simple
Ich habe den LBS19001607 gerade ins DL-Portal geladen. Darin berücksichtigt ist quasi auch der Hinweis von trollmar. Einfach an den Eingängen 2 bis 10 die gewünschten Topics eintragen (vollständig, ohne Filter - aber sollte ja nureinmalige Arbeit sein). Dann werden an den jeweiligen Ausgängen die Payloads ausgegeben.
Also, um beim Beispiel zu bleiben:
E2= fhem/out/status/wohnzimmer/wandheizkoerper/pid/delta
E3= fhem/out/status/wohnzimmer/wandheizkoerper/pid/actuation
...
Ich hoffe es ist nicht zu simpel (rudimentäre Fehlerbehandlung und kein Logfile bzw. Debug-Option).
Bitte testet und gebt mir Hinweise, was ggf. verbessert werden kann
Gruß Marco
Einen Kommentar schreiben:
-
Ich habe schon ein Grundgerüst eines Parsers, bin aber im Moment beruflich unterwegs, so dass es vermutlich erst am nächsten Wochenende etwas wird.
- Likes 2
Einen Kommentar schreiben:
-
Hi.Zitat von mars Beitrag anzeigenvielen Dank für den Hinweis. Damit ist dann kein Topic-Parser o.ä. mehr im Downloadportal.
Ich mache mir die nächsten Tage mal ein paar Gedanken dazu ...
Falls neu Entwicklung des Parser dann gebe ich folgendes in die Runde:
Wäre es auch möglich einen Parser zu schreiben der Multilevel support hat?
So das man an E3 und fortlaufend mehrere Levels parsen kann?
Also z.B Topic:
fhem/out/status/wohnzimmer/wandheizkoerper/pid/delta||-0.300000000000001||1||0||176
E2= fhem/out/status/wohnzimmer/wandheizkoerper/#
E3= pid/delta
E4= pid/actuation
E5= Thermostat/battery
...
LG
Einen Kommentar schreiben:
-
vielen Dank für den Hinweis. Damit ist dann kein Topic-Parser o.ä. mehr im Downloadportal.
Ich mache mir die nächsten Tage mal ein paar Gedanken dazu ...
Einen Kommentar schreiben:
-
Da er vor kurzem alle seine LBS aus dem Download Portal gelöscht hat, würde ich jetzt nicht zu viel Hoffnung da rein setzen.Zitat von mars Beitrag anzeigenLeistest Du noch Support für Deine Parser-LBSe?
Einen Kommentar schreiben:
-
...schade. Leistest Du noch Support für Deine Parser-LBSe?Zitat von Nanosonde Beitrag anzeigenIch beschäftige mich momentan nicht mehr mit Edomi.
Ich möchte momentan meinen Automower über MQTT (statt robonect-LBS) in EDOMI einbinden.
Es gibt zwei ähnliche Topics (Ich habe im robonect "am430x" als device konfiguriert.):
am430x/mower/statusDabei tritt folgender Fehler auf:am430x/mower/status/duration
Wenn am Topic Parser (LBS19001078) an E2 als Filter "am430x/mower/status" angegeben ist und folgende MQTT-Message vom Broker kommt:
kommt es im Fehler-Log von EDOMI zu folgendem Eintrag:am430x/mower/status/duration||32 Min.||0||0||0
Leider kenne ich mich nicht so gut mit php aus, um Deinen LBS (list, foreach ...) zu durchschauen und einen Vorschlag zur Fehlerbehebung zu machen. Vielleicht kannst Du ja noch einmal Deinen LBS überarbeiten.Code:2019-05-05 15:34:03 | 285137 | ? | 14222 | Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001078.php | Fehlercode: 8 | Zeile: 52 | Undefined offset: 3 | ERROR 2019-05-05 15:34:03 | 285620 | ? | 14222 | Datei: /usr/local/edomi/www/data/liveproject/lbs/LBS19001078.php | Fehlercode: 8 | Zeile: 63 | Undefined offset: 3 | ERROR
Vielen Dank und viele Grüße
Marco
Einen Kommentar schreiben:
-
...pong ;-)Zitat von trollmar Beitrag anzeigen..ping ;-)
Ich beschäftige mich momentan nicht mehr mit Edomi.
Einen Kommentar schreiben:
-
Das stimmt. Aber ich werde das bei Gelegenheit mal nachstellen um zumindest zu sehen, wo die Ursache liegt. Könnte wirklich sein, dass es in der Mosquittot Lib liegt.Zitat von gulp2k Beitrag anzeigenIst halt schon ein Edge Case sich per TLS auf einen Mosquitto mit abgelaufenen Zertifikat zu verbinden...
Einen Kommentar schreiben:
-
Sorry für die späte Antwort...Zitat von jonofe Beitrag anzeigenSpontan kann ich die Ursache dafür nicht finden. Grundsätzlich wird alle 3 Sekunden versucht die Verbindung neu aufzubauen, dazu wird aber kein neues Client Objekt angelegt, sondern das bestehende immer wiederverwendet. Kam wirklich jede Sekunde ein Connect im Mosquitto? Im obigen Log sieht man, dass die Exception alle drei Sekunden auftritt. Dies passt zu dem Reconnect Verfahren des LBS. Dann sollten aber die Connect Versuche im Mosquitto auch nur alle 3 Sekunden stattfinden, es sei denn, die kommen von unterschiedlichen LBSen.
Ich denke das past so, beide LBS haben wohl abwechselnd versucht sich zu verbinden was da ca 1s war. Da beide denn gleichen User verwenden konnte ich das nicht unterscheiden...
Aktuell ist wieder alles gut, eventuell ist es ja auch ein Problem der MQTT Lib?! Ist halt schon ein Edge Case sich per TLS auf einen Mosquitto mit abgelaufenen Zertifikat zu verbinden...
Einen Kommentar schreiben:
-
..ping ;-)Zitat von trollmar Beitrag anzeigen
hi Nanosonde
wäre es auch möglich einen parser .....
https://knx-user-forum.de/forum/proj...74#post1325474
Einen Kommentar schreiben:
-
Spontan kann ich die Ursache dafür nicht finden. Grundsätzlich wird alle 3 Sekunden versucht die Verbindung neu aufzubauen, dazu wird aber kein neues Client Objekt angelegt, sondern das bestehende immer wiederverwendet. Kam wirklich jede Sekunde ein Connect im Mosquitto? Im obigen Log sieht man, dass die Exception alle drei Sekunden auftritt. Dies passt zu dem Reconnect Verfahren des LBS. Dann sollten aber die Connect Versuche im Mosquitto auch nur alle 3 Sekunden stattfinden, es sei denn, die kommen von unterschiedlichen LBSen.
Einen Kommentar schreiben:
-
Ich hab aktuell beide Subscribe LBS am laufen, also Server und Client.
Im Mosquitto Log konnte ich sehen das es jede Sekunde ein Reconnect gab das dann aber vom Client wieder abgebrochen wurde dabei ging ziemlich schnell der Speicher beim EXEC Script hoch.
Beim Subscribe Client im Log hatte ich dann folgendes:
Code:[TABLE="class: log, border: 0, cellpadding: 0, cellspacing: 0, width: 0, height: 12"] [TR] [TD]2019-01-28 23:04:17[/TD] [TD]084237[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:20[/TD] [TD]155975[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:24[/TD] [TD]539427[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:27[/TD] [TD]611840[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:30[/TD] [TD]672604[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: A TLS error occurred. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:33[/TD] [TD]692131[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:36[/TD] [TD]754374[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: A TLS error occurred. (4630)[/TD] [/TR] [TR] [TD]2019-01-28 23:04:39[/TD] [TD]771720[/TD] [TD]17111[/TD] [TD]debug[/TD] [TD]EXE19001054 [v0.2.3]: Exception caught: The client is not currently connected. (4630)[/TD] [/TR] [/TABLE]
Einen Kommentar schreiben:
-
Es ist nicht das gleiche Memory Leak, da die MQTT Bausteine gar keinen alternativen Error Handler verwenden.Zitat von gulp2k Beitrag anzeigenich glaube die MQTT LBSes haben das gleiche Memory Leak wie die Yeelight LBS
Daher die Frage, bei welchen MQTT Baustein ist das Problem aufgetreten?
Einen Kommentar schreiben:


Einen Kommentar schreiben: