Hi Micha,
ja das liegt wohl am JSON, da innerhalb des JSON auch Anführungszeichen verwendet werden. Das führ dann zu einem ungültigen SQL Statement. Sollte aber korrigierbar sein. Schaue ich mir mal an und melde mich.
Viele Grüße
André
Ankündigung
Einklappen
Keine Ankündigung bisher.
MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054
Einklappen
X
-
jonofe Hi André! Ich habe die Bausteine jetzt auch mal getestet. Den Broker und node-red auf einem Raspi, weil Broker und Edomi auf einer Maschine zu jeder Menge seq-counter Fehler führen. Da sind deine LBS aber scheinbar unschuldig, da es mit einem externen Broker funktioniert. Eine Frage hab ich noch, hast Du das übergeben von JSON Strings integriert, oder nur die number und String funktionen? Ein Json lässt sich nicht in die KO Datenbank eintragen. Ich vermute mal das es an den Sonderzeichen im String hängt.
Ich hänge mal das log an:
Code:2017-06-05 10:44:00 645406 8130 debug EXE19001052 [v0.3]: Topic: edomi/set/internal/1082 - Payload: {"codepage":"ger","model":"RS815+","ram":6144,"serial":"15A0MRN914400","temperature":52,"temperature_warn":false,"time":"Mon Jun 5 10:44:00 2017","uptime":1015854,"version":"15101","version_string":"DSM 6.1.1-15101 Update 4"} (1765) 2017-06-05 10:44:00 646096 8130 debug EXE19001052 [v0.3]: MQTT find Query: SELECT id,ga,name FROM edomiLive.RAMko WHERE (ga="1082" OR name="1082") (1765) 2017-06-05 10:44:00 646886 8130 debug EXE19001052 [v0.3]: MQTT Set Query: INSERT INTO edomiLive.RAMknxRead (mode,gatyp,gaid,value) VALUES (4,0,"1082","{"codepage":"ger","model":"RS815+","ram":6144,"serial":"15A0MRN914400","temperature":52,"temperature_warn":false,"time":"Mon Jun 5 10:44:00 2017","uptime":1015854,"version":"15101","version_string":"DSM 6.1.1-15101 Update 4"}") (1765) 2017-06-05 10:44:00 647452 8130 debug EXE19001052 [v0.3]: ERROR: 1082 GA: 1082 (Mqtt) could not be set in EDOMI database (1765)Zuletzt geändert von vento66; 05.06.2017, 09:53.
Einen Kommentar schreiben:
-
Ich meinte damit ja nicht, dass es da keinen Zusammenhang mit MDT gibt, aber es gibt ganz sicher auch einen mit dem MQTT LBS. Und beides in Kombination kann das Problem natürlich verstärken.
Einen Kommentar schreiben:
-
Ich habe aber ohne MQTT die Sequence Counter. Über einer Telegrammrate von 20 gehts richtig ab. Scheinbar reicht der Puffer nicht.
Einen Kommentar schreiben:
-
Es wird dennoch einen Zusammenhang mit dem MQTT Publish Server geben, denn ich habe bei mir gelegentlich dieselben Fehler, und zwar nur auf dem Testsystem, auf dem die MQTT LBS laufen. Beide meiner EDOMI Instanzen (Test und Produktion) verwenden dieselbe KNX Anbindung (eibd => Siemens KNX USB Interface => KNX). In den letzten 4 Tagen hatte ich zwar nur einen SeqCounter Fehler auf dem Testsystem (davor aber auch mal 50 oder 80), auf dem Produktionssystem hingegen habe ich gar keine.
Ich denke es könnte ggf. ein Timingproblem durch MySQL Trigger geben, insbesondere wenn die Telegramrate hoch ist und wenn dann noch der MQTT offline ist und somit das Publish Skript ins Leere läuft. Werde noch mal überlegen, ob man das Skript optimieren kann oder ggf. die Stored Procedure, aber die ist ja quasi schon minimal, da sie nur ein PHP Skript aufruft. Evtl. könnte man statt mit dem Trigger das PHP Skript aufzurufen, das geänderte iKO/GA in eine temporäre Tabelle schreiben und ein PHP Skript diese Tabelle scannen lassen.
Einen Kommentar schreiben:
-
Ich glaube eher der MDT kann schlecht mit hoher Telegrammrate umgehen. Ich hatte kürzlich MDT angeschrieben und leider keine befriedigende Antwort bekommen.
Fakt ist, wenn die Telegramrate in Edomi höher als 20 eingestellt wird, hagelts Sequenze Counter Fehler. Der Enertex schafft 35 ohne Probleme.
Einen Kommentar schreiben:
-
Die KNX Anbindung erfolgt über ein MDT SCN-IP000.02 (IP Interface, kein Router).
Ich habe auch sofort die ETS5 getestet. Dort klappt die KNX Kommunikation ohne Probleme.
Es muss also was in Edomi gewesen sein.
Einen Kommentar schreiben:
-
interessant wäre gewesen, ob denn die Reaktivierung des Brokers zusammen mit der Neuaktivierung des Edomi Projektes behoben hätte. Wie ist denn deine KNX Anbindung realisiert?
Einen Kommentar schreiben:
-
Nein. Ich hatte die MQTT Server LBS zunächst gar nicht im Verdacht.Zitat von jonofe Beitrag anzeigen
Bei der erfolglosen Projektaktivierung war der MQTT Broker aber wieder online, oder?
Merkwürdig fand ich die immer gleichen Zählstände beim SeqCounter Error.
Einen Kommentar schreiben:
-
Die SeqCounter Errors hatte ich auch schon. Allerdings nicht in diesem Ausmaß und auch nicht, dass EDOMI nicht mehr reagiert hat.Zitat von Nanosonde Beitrag anzeigen
Hast Du eine Idee, was da los sein könnte?
Es muss auf jeden Fall im Zusammenhang mit dem nicht verfügbaren MQTT Broker stehen.
Bei der erfolglosen Projektaktivierung war der MQTT Broker aber wieder online, oder?
Werde mir das nochmal anschauen und auch mal den Ausfall des Brokers als Testcase simulieren.
Einen Kommentar schreiben:
-
Hi André!
Ich hatte gestern folgenden Effekt:
Zunächst habe ich nachmittags meinen RPi mit Mosquitto außer Betrieb genommen, ohne dabei die MQTT Server LBS zu deaktivieren.
Diese haben im Log natürlich die Exception gezeigt, dass die Verbindung verloren wäre. Soweit so gut.
Das lief dann den Nachmittag so durch, weil ich zwischendurch nicht zuhause war.
Abends ging dann bei Edomi plötzlich gar nicht mehr. Im Error-Log hatte ich insgesamt über 4000 Fehler bestehend aus SEQ Counter abweichend und Disconnect_Request. Alles im Wechsel. Die Counter-Werte waren immer die Geichen (?): IST: 0, SOLL: 1
Eine erneute Projektaktivierung brachte nichts.
Erst das komplette Deaktivieren der Logikseite, die die beiden MQTT Server LBS, die direkt mit den Edomi KOs umgehen, brachte Abhilfe.
Hast Du eine Idee, was da los sein könnte?
Es muss auf jeden Fall im Zusammenhang mit dem nicht verfügbaren MQTT Broker stehen.
Einen Kommentar schreiben:
-
Danke für den Tipp.Zitat von trollmar Beitrag anzeigenHi.
Teste auf dem Rpi mit mosquitto mal folgendes.
Wenn das geht würde ich ne Logikseite mit dem server subscriber anlegen und ihm etwas schicken so wie es jonofe beschrieben hat.
Lg
Wird leider quttiert mit:
Liegt vermutlich daran, dass schon ein Benutzer mit PW angelegt wurde.Code:Client mosqsub/19097-KNXRouter sending CONNECT Client mosqsub/19097-KNXRouter received CONNACK Connection Refused: not authorised.
Aber der Rest funktioniert ja...
Einen Kommentar schreiben:
-
Ja, wer richtig lesen kann ist klar im Vorteil. Sorry..Zitat von jonofe Beitrag anzeigenmit dem mosquitto_passwd Befehl ... siehe oben in der Anleitung.
Hatte den Benutzernahmen im LBS versehentlich großgeschrieben.
Jetzt läuft es perfekt. Danke!
Einen Kommentar schreiben:
-
Wer ein Synology NAS hat kann den Mosquitto Broker sehr einfach dort laufen lassen.
https://sites.google.com/site/mccwor...n-synology-nas
Kleine Ergänzung:
Bei mir war ein Reboot des NAS nach der Installation notwendig, da sich das Paket sonst nicht starten ließ.Zuletzt geändert von woda; 21.05.2017, 09:03.
Einen Kommentar schreiben:
-
Hi.
Teste auf dem Rpi mit mosquitto mal folgendes.
Wenn das geht würde ich ne Logikseite mit dem server subscriber anlegen und ihm etwas schicken so wie es jonofe beschrieben hat.Open up two more terminal windows.
In Terminal window 1 type:
mosquitto_sub -d -t hello/world
In Terminal window 2 type:
mosquitto_pub -d -t hello/world -m "Hello from Terminal window 2!"
When you have done the second statement you should see this in the Terminal 1 window.
Lg
Einen Kommentar schreiben:


Einen Kommentar schreiben: