horchi / linux-p4d

Deamon which fetch sensor data of the 'Lambdatronic s3200' and store to a MySQL database
GNU General Public License v2.0
49 stars 22 forks source link

Flut von json Fehlern #51

Open SaimenSays opened 3 months ago

SaimenSays commented 3 months ago

Ich nutze die 'Installation by source' Methode, weil Buster schon lange abgelaufen ist und kein neueres Paket zur verfügung steht. Aber irgendetwas läuft schief. Zum einen wird keine Logdatei /var/log/p4d.log angelegt. Mit service p4d status sehe ich eine Flut von folgenden Fehlermeldungen. Kann mir jemand sagen woran das liegt und wie man es beheben kann?

Jun 20 22:03:07 p4d p4d[3605]: Error: Ignoring invalid json in ''
Jun 20 22:03:07 p4d p4d[3605]: Error decoding json: '[' or '{' expected near end of file (<string>, line 1 column 0, position 0)
Jun 20 22:03:11 p4d p4d[3605]: Error: Ignoring invalid json in ''
Jun 20 22:03:11 p4d p4d[3605]: Error decoding json: '[' or '{' expected near end of file (<string>, line 1 column 0, position 0)
Jun 20 22:03:22 p4d p4d[3605]: Error: Ignoring invalid json in ''
Jun 20 22:03:22 p4d p4d[3605]: Error decoding json: '[' or '{' expected near end of file (<string>, line 1 column 0, position 0)
Jun 20 22:03:22 p4d p4d[3605]: Error: Ignoring invalid json in ''
Jun 20 22:03:22 p4d p4d[3605]: Error decoding json: '[' or '{' expected near end of file (<string>, line 1 column 0, position 0)
Jun 20 22:03:26 p4d p4d[3605]: Error: Ignoring invalid json in ''
Jun 20 22:03:26 p4d p4d[3605]: Error decoding json: '[' or '{' expected near end of file (<string>, line 1 column 0, position 0)
horchi commented 3 months ago

Von den Meldungen abgesehen funktioniert es?

Mach mal alle 'Log' Schalter an und pate es dann nochmal mit mehr Kontext. Versuch auch mal ob es auch passiert wenn du alles in /etc/p4d/scripts.d/ löschst.

SaimenSays commented 3 months ago

Danke für die schnelle Antwort! Die Weboberfläche funktioniert unregelmäßig. Man muss öfters zwei oder dreimal klicken bis sich etwas tut. Ich konnte unter "Commands" die "Init Sensoren" auslösen. Unter "Liste" sehe ich die aktuellen Werte. Mqtt habe ich noch nicht ans laufen bekommen. Funktioniert das nur mit aktiviertem "Aufzeichen"? Die Statusanzeige rechts oben blinkt grün.

In "Allg. Konfiguration" bei "Log Eloquence" alle Schalter aktiviert. Dienst neu gestartet, aber weiterhin kein Logfile.

Den Inhalt des Ornders habe ich gelöscht. Ausgabe hat sich verändert, aber nicht wirklich besser:

Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
Jun 21 14:45:55 p4d p4d[4111]: loop ...
horchi commented 3 months ago

die Log Meldung zeigt das der p4d von einem Topic eine leer Nachricht erhält aber JSON erwartet. Ich hatte gehofft das es von einem der Skripte kommt. Merkwürdig das es mit den erhöhten Log Level keine Meldung gibt woher die kommt.

Mach mal mit mosquito_sub -v '#' auf welches Topic diese Nachrichten geschrieben werden. Muss ja in hoher Frequenz sein.

SaimenSays commented 3 months ago

Mein MQTT Broker läuft auf einem anderen Server. Dort alle Topics abzurufen würde wohl in >1000 enden und wäre nicht sinnvoll es hier zu posten. Ich habe kein mosquitto auf dem p4d Rechner installiert. Ist dies das Problem? Zum Test habe ich die Adresse aus "MQTT Broker Url" komplett entfernt. Die "loop ..." Meldungen werden aber weiterhin ausgegeben.