Hallo,
ich nutze die LBS "MQTT Subscribe Client v0.10" und "MQTT Publish Client v0.8".
Die Funktion ist vollkommen gegeben und ich bin sehr dankbar für die Funktionen!
Leider hat sich aber herausgestellt, dass der LBS "MQTT Subscribe Client v0.10" für die folgende Fehlermeldung bei mir verantwortlich ist:
Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): Couldn't fetch mysqli ERROR
Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): Couldn't fetch mysqli ERROR
Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): Couldn't fetch mysqli ERROR
Diese Fehlermeldung wird nur bei einem neuen Aktivieren des Projektes in den Fehler Log geschrieben.
Für einen Subscribe LBS werden jeweils 3 Zeilen des Fehlers geschrieben.
Ich habe mir bereits andere Threads zu diesem Fehler durchgelesen und dort wird unter anderem beschrieben, dass nach dem Schließen der SQL Verbindung noch auf diese zugegriffen werden soll.
Leider stecke ich nicht so sehr in den Themen drin, sodass ich mir nicht erkläre kann, wie der Fehler zustande kommt.
Ich habe den Quelltext von den beiden MQTT LBS verglichen, aber leider konnte ich keinen Hinweis darauf finden, warum der Publish LBS keinen Fehler wirft und der Subscribe LBS wohl.
Es wäre sehr schön, wenn ich hier einen Ansatz bekommen könnte, wie der Fehler zukünftig vermieden werden kann.
Grüße,
Olli
Ankündigung
Einklappen
Keine Ankündigung bisher.
MQTT API Server und MQTT Clients - LBS19001051 - LBS19001054
Einklappen
X
-
OKkay - problem gelöst.
Ich hab mal angefangen alte nachrichten hier zu lesen.. und siehe da: in post # 459 hatte ich das problem schonmal - und in post 99 wird es gelöst.
War damals nicht der einzige der das Problem hat.
Eigentlich könnte man die Problemlösung mal scripten ... ;-)
(was das eigentliche Problem ausgelöst hat ist mir allerdings vollkommen unbekannt)
Gruß
ThorstenZuletzt geändert von ThorstenGehrig; 08.05.2022, 10:18.
Einen Kommentar schreiben:
-
Hi Jonofe
also mein subscribe-server (1.2) verbindet sich einwandfrei.
Der publish server (1.3) nicht.
E15 ist definitibv auf 0 - aber das Log sagt MPUB.
Im log steht weiterhin "2022-05-08 10:37:01 096337 15888 debug LBS19001051 [v1.4]: Query: SELECT ga,name FROM edomiLive.ko WHERE text LIKE "%MPUB%" (6479)"
Ich hab auch schon extra einige KOs mit "MPUB" gekennzeichnet - die auch gefunden werden - aber Verbindung macht er trotzdem keine.
Ich hab jetzt alles nochmal ganz sauber versucht zu installieren - dabei ist mir aufgefallen das in deiner Installationsanleitung vermutlich ein Fehler ist:
---
rm -rf lib_mysqludf_sys/
git clone https://github.com/mysqludf/lib_mysqludf_log
---
Das Loglevel ist schon auf 8 - aber es wird nichts angezeigt was bei der Fehlersuche hilft.
Irgendeine idee wo/wie ich da noch weitersuchen kann?
Gruß
Thorsten
PS: nur als FYI - mein mosquitto ist in deinem Docker - und nicht auf dem EDOMI selbst.. sollte keinen Unterschied machen - hat ja bisher auch funktioniert...
PS2: hab gerade gesehen das es ein lib_mysqludf_sys und lib_mysqludf_log gibt. Das _sys wird nach deiner Anleitung ja nicht installiert - ich habe es trotzdem mal versucht aber nicht geschafft (libmysqlclient fehlt)Zuletzt geändert von ThorstenGehrig; 08.05.2022, 09:51.
Einen Kommentar schreiben:
-
Danke - E15 ist aber auf 0 (100% sicher).
Schon irgendwie schräg. Ich hab´s jetzt mal mit einem leeren feld probiert: selbes ergeniss.
Für das reinschauen ins log vom broker muss ich mich morgen mal drum kümmern: der docker läuft - der mosquitto auch (für etliche andere telegramme) - aber log hab ich keins im Docker...
Einen Kommentar schreiben:
-
Das bedeutet, dass du die Option im LBS eingeschaltet hast, dass nur die iKOs/GAs gepublished werden, die "MPUB" im Kommentarfeld stehen haben (E15=1).Zitat von ThorstenGehrig Beitrag anzeigenSELECT ga,name FROM edomiLive.ko WHERE text LIKE "%MPUB%"
Wenn du ALLES publishen willst, dann sollte das auf 0 stehen oder leer sein. Ansonsten mal ins Log des Brokers schauen, ob der Publish-Server eine Verbindung aufbaut. Er sollte eigentlich dort mit einer entsprechenden ID auftauchen.
Einen Kommentar schreiben:
-
hi
scheinbar funktioniert mein publish-server nicht mehr :-(
ich hab alles gepublished - der mosquito ist auf einem anderen server.
subscribe funktioniert - gepublished wird aber wohl nichts.
Im Log sehe ich:
2022-05-03 22:33:05 207113 5641 debug-mysql LBS19001051 [v1.4]: QUERY: CREATE PROCEDURE mqtt_publish(typ INT(10), ga VARCHAR(1000), name VARCHAR(1000), value VARCHAR(11000)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19001051.php ',typ,' ',ga,' \'',name,'\' \'',value,'\' & "'); SET logresult = log_error(cmd); SET result = sys_exec(cmd); END (4733)
2022-05-03 22:33:05 208211 5641 debug-mysql LBS19001051 [v1.4]: Query: SELECT ga,name FROM edomiLive.ko WHERE text LIKE "%MPUB%" (4733)
2022-05-03 22:33:05 209155 5641 debug-mysql LBS19001051 [v1.4]: Query-Result: (4733)
2022-05-03 22:33:05 209187 5641 debug-mysql LBS19001051 [v1.4]: ================ ARRAY/OBJECT START ================
2022-05-03 22:33:05 209218 5641 debug-mysql LBS19001051 [v1.4]: []
2022-05-03 22:33:05 209239 5641 debug-mysql LBS19001051 [v1.4]: ================ ARRAY/OBJECT END ================
Ich hab die Installationsroutinen die im Hilfetext stehen nochmal durchgeführt - aber ohne Änderung...
Irgendeine idee?
Wie kann man schauen ob in mysql der Trigger und die Stored Procedure angelegt wurde?
Gruß
Thorsten
Einen Kommentar schreiben:
-
Super, Danke, habe die Installationsroutine nachgeholt und läuft.
Einen Kommentar schreiben:
-
Ist nichts auffälliges zu sehen. Ist halt die Frage ob überhaupt alle Voraussetzungen für den Publish Server installiert sind, d.h. Insbesondere die UDFs für mysql. Ausserdem solltest du mal schauen ob in mysql der Trigger und die Stored Procedure angelegt wurde.
- Likes 1
Einen Kommentar schreiben:
-
Danke für den Tipp, publish mit client funktioniert.
Der Server bleibt stumm.... Mosquitto.log bleibt leer.
19001051.pngCode:[TR] [TD]2022-02-17 17:21:55[/TD] [TD]991730[/TD] [TD]7029[/TD] [TD]debug[/TD] [TD]LBS19001051 [v1.4]: QUERY: CREATE PROCEDURE mqtt_publish(typ INT(10), ga VARCHAR(1000), name VARCHAR(1000), value VARCHAR(11000)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19001051.php ',typ,' ',ga,' \'',name,'\' \'',value,'\' & "'); SET result = sys_exec(cmd); END (1)[/TD] [/TR] [TR] [TD]2022-02-17 17:21:56[/TD] [TD]020750[/TD] [TD]7029[/TD] [TD]debug[/TD] [TD]LBS19001051 [v1.4]: Query: SELECT ga,name FROM edomiLive.ko WHERE text LIKE "%MPUB%" (1)[/TD] [/TR] [TR] [TD]2022-02-17 17:21:56[/TD] [TD]021236[/TD] [TD]7029[/TD] [TD]debug[/TD] [TD]LBS19001051 [v1.4]: Query-Result: (1)[/TD] [/TR] [TR] [TD]2022-02-17 17:21:56[/TD] [TD]021265[/TD] [TD]7029[/TD] [TD]debug[/TD] [TD]LBS19001051 [v1.4]: ================ ARRAY/OBJECT START ================[/TD] [/TR] [TR] [TD]2022-02-17 17:21:56[/TD] [TD]021294[/TD] [TD]7029[/TD] [TD]debug[/TD] [TD]LBS19001051 [v1.4]: [][/TD] [/TR] [TR] [TD]2022-02-17 17:21:56[/TD] [TD]021311[/TD] [TD]7029[/TD] [TD]debug[/TD] [TD]LBS19001051 [v1.4]: ================ ARRAY/OBJECT END ================[/TD] [/TR]
Einen Kommentar schreiben:
-
Fang doch erstmal mit nem Publish oder Subscribe Client an. Das greift nicht ganz so tief ins System ein. Damit kannst du dann prüfen, ob MQTT grundsätzlich auf dem EDOMI Server läuft. Ansonsten: Screenshots, Logs (LBS + MQTT Broker).
Einen Kommentar schreiben:
-
Leider bleibt das Problem bestehen, um auszuschließen, dass es an meinem Projekt/Installation liegt habe ich mich dazu entschlossen alles neu aufzusetzen.
Proxmox 7.1 neu installiert
Edomi aus Template 2.03.1 von Starwarsfan aufgesetzt
Neues Projekt nur für einen MQTT Test mit Publish Server 1.4 erstellt
Muss hierbei für MQTT noch etwas beachtet werden?
Leider kommt im Broker (läuft separat) nichts von Edomi an.
Vielen Dank im Voraus.
Einen Kommentar schreiben:
-
Hallo,
Edomi läuft in VM, auf einem NUC i5, selbst aufgesetzt, Edomi läuft eine ganze Weile bei mir - da kannte ich dein Template noch nicht, daher die Installation des MQTT Zeugs.
Aktuell ist der LBS wieder aktiviert und läuft bereits 60 min ohne Fehler. Mal sehen was die nächsten Stunden so passiert.
Dein Template wollte ich aber auch mal probieren.
Einen Kommentar schreiben:
-
Hallo Andreas
Und das heisst was genau? VM oder Container? Wenn Container, dann selber aufgesetzt oder das Template von mir? Wenn Template von mir, warum hast Du dann nochmals das MQTT-Zeugs installiert? Das ist im Template alles schon drin...Zitat von anste Beitrag anzeigenHallo zusammen,
Auf Seite von Edomi habe ich die Installationsroutine für die MQTT Bausteine durchlaufen. Edomi läuft auch in Proxmox.
Einen Kommentar schreiben:
-
Dass die MySQL DB komplett aussteigt, konnte ich bislang bei mir noch nie beobachten.
Wie ist denn dein EDOMI Server dimensioniert und im Fehlerfall ausgelastet? (CPU, RAM, Storage)
Einen Kommentar schreiben:
-
Hallo zusammen,
aktuelle versuche ich mich an MQTT und habe dafür den Mosquitto Broker in Proxmox unter Ubuntu laufen.
Auf Seite von Edomi habe ich die Installationsroutine für die MQTT Bausteine durchlaufen. Edomi läuft auch in Proxmox.
Als ersten Test habe ich alle KOs mit LBS19001051 ohne Filter gepublished. Zur Kontrolle habe ich den MQTT Explorer im Einsatz.
Das Ganze funktioniert, die Daten kommen im Broker an.
An der Stelle habe ich mir das eine ganze Weile angeschaut und dann eine Pause eingelegt.
Nach einiger Zeit nicht mal 30 min würde ich sagen - kommt es zu folgender Fehlermeldung:
Die letzte Zeile wiederholt sich dann.Code:{EDOMI,ERRLOG_2022-02.htm,13.02.2022,19:37:22,362019,14337} Zeitstempel ms Prozess PID Meldung Status 2022-02-13 19:37:22 361970 ? 14337 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): MySQL server has gone away ERROR 2022-02-13 19:37:22 362273 ? 14337 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): Error reading result set's header ERROR 2022-02-13 19:37:32 902981 ? 14339 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): MySQL server has gone away ERROR 2022-02-13 19:37:32 903117 ? 14339 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_query(): Error reading result set's header ERROR 2022-02-13 19:37:32 918845 ? 14339 Datei: /usr/local/edomi/www/shared/php/base.php | Fehlercode: 2 | Zeile: 20 | mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given ERROR
Habe ich bei der Installation etwas übersehen?
Vielen Dank im Voraus.
Grüße
Andreas
Einen Kommentar schreiben:


Einen Kommentar schreiben: