Synology-Docker Serial trouble
Moderatoren: Ulrich, DeBaschdi
-
- Beiträge: 20
- Registriert: Mi 19. Okt 2022, 23:07
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Synology-Docker Serial trouble
MQTT geht auch nicht in dem Container, am PI geht es.
Also ich habe bei den MQTT-Einstellungen meinen MQTT-Broker eingetragen, am Pi werden Daten zum Broker gesendet.
Vom Docker-Container kommen keine Daten:
/var/www/html/mqtt_prozess.php
PHP Fatal error: Uncaught Mosquitto\Exception: The connection was refused. in /var/www/html/mqtt_prozess.php:115
Stack trace:
#0 /var/www/html/mqtt_prozess.php(115): Mosquitto\Client->loop(100)
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 115
/var/www/html# /etc/init.d/mosquitto status
[FAIL] mosquitto is not running ... failed!
root@982cf2f7a3a4:/var/www/html# /etc/init.d/mosquitto start
[ ok ] Starting network daemon:: mosquitto.
root@982cf2f7a3a4:/var/www/html# /etc/init.d/mosquitto status
[FAIL] mosquitto is not running ... failed!
Also ich habe bei den MQTT-Einstellungen meinen MQTT-Broker eingetragen, am Pi werden Daten zum Broker gesendet.
Vom Docker-Container kommen keine Daten:
/var/www/html/mqtt_prozess.php
PHP Fatal error: Uncaught Mosquitto\Exception: The connection was refused. in /var/www/html/mqtt_prozess.php:115
Stack trace:
#0 /var/www/html/mqtt_prozess.php(115): Mosquitto\Client->loop(100)
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 115
/var/www/html# /etc/init.d/mosquitto status
[FAIL] mosquitto is not running ... failed!
root@982cf2f7a3a4:/var/www/html# /etc/init.d/mosquitto start
[ ok ] Starting network daemon:: mosquitto.
root@982cf2f7a3a4:/var/www/html# /etc/init.d/mosquitto status
[FAIL] mosquitto is not running ... failed!
-
- Beiträge: 304
- Registriert: Mo 10. Aug 2020, 08:13
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 56 Mal
Re: Synology-Docker Serial trouble
Möglicherweise muss die Mosquitto Konfigurationsdatei für das Legacy angepasst werden, ich schau morgen mal ob ich was nachstellen kann.
Spuckt Mosquitto sonst irgentwelche Fehlermeldungen aus ?
Spuckt Mosquitto sonst irgentwelche Fehlermeldungen aus ?
-
- Beiträge: 20
- Registriert: Mi 19. Okt 2022, 23:07
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Synology-Docker Serial trouble
Hab ein paar logs gefunden:
/var/www/log# cat mosquitto.log
1668622551: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
1668624352: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
1668626153: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
cat apache2/error.log
[Wed Nov 16 18:43:11.463638 2022] [php7:notice] [pid 140] [client 172.17.0.1:57000] PHP Notice: Undefined index: befehl1 in /var/www/html/befehl.steuerung.php on line 37, referer: http://192.168.58.195:3010/
[Wed Nov 16 18:43:11.463697 2022] [php7:notice] [pid 140] [client 172.17.0.1:57000] PHP Notice: Undefined index: befehl2 in /var/www/html/befehl.steuerung.php on line 37, referer: http://192.168.58.195:3010/
/var/www/log# cat mosquitto.log
1668622551: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
1668624352: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
1668626153: Saving in-memory database to /var/lib/mosquitto//mosquitto.db.
cat apache2/error.log
[Wed Nov 16 18:43:11.463638 2022] [php7:notice] [pid 140] [client 172.17.0.1:57000] PHP Notice: Undefined index: befehl1 in /var/www/html/befehl.steuerung.php on line 37, referer: http://192.168.58.195:3010/
[Wed Nov 16 18:43:11.463697 2022] [php7:notice] [pid 140] [client 172.17.0.1:57000] PHP Notice: Undefined index: befehl2 in /var/www/html/befehl.steuerung.php on line 37, referer: http://192.168.58.195:3010/
-
- Beiträge: 304
- Registriert: Mo 10. Aug 2020, 08:13
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 56 Mal
Re: Synology-Docker Serial trouble
Moin, ich hab das mal bei mir im legacy Image überprüft,
erstmal die initiale mosquitto.conf die erstellt wird :
Mosquitto selbst wird weder über /etc/init.d gestartet, noch mit systemd.
Im Container wird bei Neustart der Befehl https://github.com/DeBaschdi/docker.sol ... rocess#L25 ausgeführt, deshalb kann der status nicht angezeigt werden.
Ein :
Zeigt das Mosquitto läuft.
Ein:
bestätigt das.
hmm ...
Ich bin jetzt auch kein Mosquitto Experte, genaugenommen nutze ich keinen externen Broker, sondern den, der mit dem Image kommt, um meine Tasmota abzufragen.
Und ich meine der Broker ist der Mosquitto Service, wenn du den nicht nutzt, brauchst du ihn doch ohnehin nicht, sondern nur die mosquitto Client funktionalitäten um ausgewählte Daten an einen "anderen" Broker zu senden.
ggf muss der Geräte ident geändert werden, stehen Image und pi beide auf "box1" ?
https://github.com/DeBaschdi/solar_conf ... u.php#L503
das würde dein erklären.
**edit
ach, und Robert,
hast du den Autostart des usb_init nochmal überprüft ?
Mich wundert das es nach deiner Aussage nur durch händisches triggern geht.
Ich denke wir habens bald geschafft und das "legacy" image wird dann auch stabil
erstmal die initiale mosquitto.conf die erstellt wird :
Code: Alles auswählen
root@Cloudserver:/# cat /solaranzeige/config/mosquitto/mosquitto.conf
# Place your local configuration in /etc/mosquitto/conf.d/
#
# A full description of the configuration file is at
# /usr/share/doc/mosquitto/examples/mosquitto.conf.example
listener 1883 0.0.0.0
allow_anonymous true
pid_file /run/mosquitto/mosquitto.pid
persistence true
persistence_location /var/lib/mosquitto/
log_dest file /var/www/log/mosquitto.log
include_dir /etc/mosquitto/conf.d
Im Container wird bei Neustart der Befehl https://github.com/DeBaschdi/docker.sol ... rocess#L25 ausgeführt, deshalb kann der status nicht angezeigt werden.
Ein :
Code: Alles auswählen
root@Cloudserver:/# ps ax |grep mosquitto
55 ? S 0:00 mosquitto -c /etc/mosquitto/mosquitto.conf
510 pts/0 S+ 0:00 grep mosquitto
Ein:
Code: Alles auswählen
root@Cloudserver:/# cat /var/www/log/mosquitto.log
1668492248: mosquitto version 2.0.12 starting
1668492248: Config loaded from /etc/mosquitto/mosquitto.conf.
1668492248: Opening ipv4 listen socket on port 1883.
1668492248: mosquitto version 2.0.12 running
1668655066: mosquitto version 2.0.12 starting
1668655066: Config loaded from /etc/mosquitto/mosquitto.conf.
1668655066: Opening ipv4 listen socket on port 1883.
1668655066: mosquitto version 2.0.12 running
hmm ...
Ich bin jetzt auch kein Mosquitto Experte, genaugenommen nutze ich keinen externen Broker, sondern den, der mit dem Image kommt, um meine Tasmota abzufragen.
Und ich meine der Broker ist der Mosquitto Service, wenn du den nicht nutzt, brauchst du ihn doch ohnehin nicht, sondern nur die mosquitto Client funktionalitäten um ausgewählte Daten an einen "anderen" Broker zu senden.
ggf muss der Geräte ident geändert werden, stehen Image und pi beide auf "box1" ?
https://github.com/DeBaschdi/solar_conf ... u.php#L503
das würde dein
Code: Alles auswählen
The connection was refused
**edit
ach, und Robert,
hast du den Autostart des usb_init nochmal überprüft ?
Mich wundert das es nach deiner Aussage nur durch händisches triggern geht.
Ich denke wir habens bald geschafft und das "legacy" image wird dann auch stabil
-
- Beiträge: 20
- Registriert: Mi 19. Okt 2022, 23:07
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Synology-Docker Serial trouble
So nun das war jetzt mein Fehler habe das Port für dem mosquitto nicht beim Container konfiguriert.. jetzt starte er und dürfte funktionieren
Nun ich brauche ihn eigentlich nicht da hast du recht, ich möchte eigentlich den von meinem Home-Assistant verwenden.
Also so sieht derzeit meine Ausgabe von der Solaranzeige aus:
|----------------- Start qpi_p30.php ------------------------
17.11. 13:47:03 -230.2 49.9 230.2 49.9 0082 0049 005 367 12.06 000 052 068 00.1 084.3 00.00 00000 00010111 00 00 00013 010 i: 23
17.11. 13:47:03 -Modell: VMII-NXPW5KW
17.11. 13:47:05 -229.6 50.0 229.6 50.0 0085 0053 005 366 12.06 000 052 068 00.1 080.4 00.00 00000 00010111 00 00 00013 010 i: 24
17.11. 13:47:05 -Fehlermeldung: Keine Sonne
17.11. 13:47:05 -Firmware: VERFW:12213.13
17.11. 13:47:05 -MQTT Daten zum [ 192.168.58.206 ] senden.
17.11. 13:47:06 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
17.11. 13:47:57 -OK. Datenübertragung erfolgreich.
17.11. 13:47:57 -WattstundenGesamtHeute: 323.92
17.11. 13:47:57 |----------------- Stop qpi_p30.php -----------------------
Nach einem Neustart des Containers werden keine Daten übertragen
#########################################################################
# Image Version 0.1.7 legacy Build #
# Running Solaranzeige Software Version 4.8.0f [32Bit] update November 2022 #
#########################################################################
17.11. 13:59:02 |----------------- Start qpi_p30.php ------------------------
17.11. 13:59:26 -Datenübertragung vom Wechselrichter war erfolglos! [Modus]
17.11. 13:59:26 |----------------- Stop qpi_p30.php -----------------------
/var/www/html/usb_init.php
stty: /dev/ttyUSB2: No such file or directory
root@078e53d092f7:/# ls -la /dev/ttyU*
crwxrwxrwx 1 root root 188, 0 Nov 17 14:02 /dev/ttyUSB0
root@078e53d092f7:/# cat /var/www/html/user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB2";
$USBDevice = "/dev/ttyUSB0";
warum jetzt in der Config USB2 steht????
root@078e53d092f7:/# stty -F /dev/ttyUSB0 raw speed 2400 cs8 -iexten -echo -echoe -echok -onlcr -hupcl ignbrk time 5
9600
ab jetzt gehts dann:
root@078e53d092f7:/# tail -f /var/www/log/solaranzeige.log
17.11. 14:05:01 |----------------- Start qpi_p30.php ------------------------
17.11. 14:05:03 -230.3 49.9 230.3 49.9 0084 0052 005 370 12.14 000 054 068 00.3 079.9 00.00 00000 00010111 00 00 00029 010 i: 23
17.11. 14:05:04 -Modell: VMII-NXPW5KW
17.11. 14:05:05 -229.3 50.0 229.3 50.0 0079 0048 005 367 12.37 001 062 069 00.3 079.7 00.00 00000 00010111 00 00 00029 010 i: 24
17.11. 14:05:05 -Fehlermeldung: Keine Sonne
17.11. 14:05:05 -Firmware: VERFW:12213.13
17.11. 14:05:05 -MQTT Daten zum [ 192.168.58.206 ] senden.
17.11. 14:05:06 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
Leider werden die Daten nicht zu meinem MQTT-Server gesendet. (tcpdump am MQTT-Server)
der Fehler tritt immer noch auf.
/var/www/html/mqtt_prozess.php
PHP Fatal error: Uncaught Mosquitto\Exception: The connection was refused. in /var/www/html/mqtt_prozess.php:115
Stack trace:
#0 /var/www/html/mqtt_prozess.php(115): Mosquitto\Client->loop(100)
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 115
Nun ich brauche ihn eigentlich nicht da hast du recht, ich möchte eigentlich den von meinem Home-Assistant verwenden.
Also so sieht derzeit meine Ausgabe von der Solaranzeige aus:
|----------------- Start qpi_p30.php ------------------------
17.11. 13:47:03 -230.2 49.9 230.2 49.9 0082 0049 005 367 12.06 000 052 068 00.1 084.3 00.00 00000 00010111 00 00 00013 010 i: 23
17.11. 13:47:03 -Modell: VMII-NXPW5KW
17.11. 13:47:05 -229.6 50.0 229.6 50.0 0085 0053 005 366 12.06 000 052 068 00.1 080.4 00.00 00000 00010111 00 00 00013 010 i: 24
17.11. 13:47:05 -Fehlermeldung: Keine Sonne
17.11. 13:47:05 -Firmware: VERFW:12213.13
17.11. 13:47:05 -MQTT Daten zum [ 192.168.58.206 ] senden.
17.11. 13:47:06 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
17.11. 13:47:57 -OK. Datenübertragung erfolgreich.
17.11. 13:47:57 -WattstundenGesamtHeute: 323.92
17.11. 13:47:57 |----------------- Stop qpi_p30.php -----------------------
Nach einem Neustart des Containers werden keine Daten übertragen
#########################################################################
# Image Version 0.1.7 legacy Build #
# Running Solaranzeige Software Version 4.8.0f [32Bit] update November 2022 #
#########################################################################
17.11. 13:59:02 |----------------- Start qpi_p30.php ------------------------
17.11. 13:59:26 -Datenübertragung vom Wechselrichter war erfolglos! [Modus]
17.11. 13:59:26 |----------------- Stop qpi_p30.php -----------------------
/var/www/html/usb_init.php
stty: /dev/ttyUSB2: No such file or directory
root@078e53d092f7:/# ls -la /dev/ttyU*
crwxrwxrwx 1 root root 188, 0 Nov 17 14:02 /dev/ttyUSB0
root@078e53d092f7:/# cat /var/www/html/user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB2";
$USBDevice = "/dev/ttyUSB0";
warum jetzt in der Config USB2 steht????
root@078e53d092f7:/# stty -F /dev/ttyUSB0 raw speed 2400 cs8 -iexten -echo -echoe -echok -onlcr -hupcl ignbrk time 5
9600
ab jetzt gehts dann:
root@078e53d092f7:/# tail -f /var/www/log/solaranzeige.log
17.11. 14:05:01 |----------------- Start qpi_p30.php ------------------------
17.11. 14:05:03 -230.3 49.9 230.3 49.9 0084 0052 005 370 12.14 000 054 068 00.3 079.9 00.00 00000 00010111 00 00 00029 010 i: 23
17.11. 14:05:04 -Modell: VMII-NXPW5KW
17.11. 14:05:05 -229.3 50.0 229.3 50.0 0079 0048 005 367 12.37 001 062 069 00.3 079.7 00.00 00000 00010111 00 00 00029 010 i: 24
17.11. 14:05:05 -Fehlermeldung: Keine Sonne
17.11. 14:05:05 -Firmware: VERFW:12213.13
17.11. 14:05:05 -MQTT Daten zum [ 192.168.58.206 ] senden.
17.11. 14:05:06 * -Daten zur entfernten InfluxDB [ solaranzeige ] gesendet.
Leider werden die Daten nicht zu meinem MQTT-Server gesendet. (tcpdump am MQTT-Server)
der Fehler tritt immer noch auf.
/var/www/html/mqtt_prozess.php
PHP Fatal error: Uncaught Mosquitto\Exception: The connection was refused. in /var/www/html/mqtt_prozess.php:115
Stack trace:
#0 /var/www/html/mqtt_prozess.php(115): Mosquitto\Client->loop(100)
#1 {main}
thrown in /var/www/html/mqtt_prozess.php on line 115
-
- Beiträge: 304
- Registriert: Mo 10. Aug 2020, 08:13
- Hat sich bedankt: 14 Mal
- Danksagung erhalten: 56 Mal
Re: Synology-Docker Serial trouble
Haloäo Robert, hast du denn die Geräte Ident geändert?
Wenn dein pi, und das image unter der gleichen Ident funken kommt vermutlich Connection refused, wie in deinem Log zu sehen.
Das ein ttyusb nicht immer 0 sein muss gibt es, es gibt diesbezüglich tricks über udev rules, ob die bei einer syno greifen ist mir nicht bekannt...
Wenn es trotzdem 0 ist, nur falsch erkannt, kannst du das usb_init auch im crontab auskommentieren, stattdessen dein init befehl verwenden, so als Workaround.
Wenn dein pi, und das image unter der gleichen Ident funken kommt vermutlich Connection refused, wie in deinem Log zu sehen.
Das ein ttyusb nicht immer 0 sein muss gibt es, es gibt diesbezüglich tricks über udev rules, ob die bei einer syno greifen ist mir nicht bekannt...
Wenn es trotzdem 0 ist, nur falsch erkannt, kannst du das usb_init auch im crontab auskommentieren, stattdessen dein init befehl verwenden, so als Workaround.
-
- Beiträge: 20
- Registriert: Mi 19. Okt 2022, 23:07
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Synology-Docker Serial trouble
Hallo DeBaschdi,
den PI hab ich nicht mehr in Betrieb, da der Container zumindest die Abfragen vom WR schafft wenn ich die Serielle händisch initialisiere.
Grundsätzlich sollte aber der mqtt-client zumindest etwas zum MQTT-Server schicken, aber es kommt nicht mal ein einziges IP-Paket dort an.
das mit udev und so ist mir sehr wohl bewusst, jedoch bei der Abfrage im Container
gibt es nur den USB0 wie im vorigen Beitrag beschrieben. jedoch erkennen die PHP-Scripts USB2***
Am Host gibt es sehr wohl einen USB2 also keine Ahnung wie das geht.
HOST:
root@filer-2:~# ls -la /dev/ttyU*
crwxrwxrwx 1 root root 188, 0 Nov 15 07:03 /dev/ttyUSB0
crw------- 1 root root 188, 2 Nov 16 21:32 /dev/ttyUSB2
root@filer-2:~# docker exec -ti solaranzeige /bin/bash
Container
root@078e53d092f7:/# ls -la /dev/ttyU*
crwxrwxrwx 1 root root 188, 0 Nov 18 10:09 /dev/ttyUSB0
root@078e53d092f7:/#
den PI hab ich nicht mehr in Betrieb, da der Container zumindest die Abfragen vom WR schafft wenn ich die Serielle händisch initialisiere.
Grundsätzlich sollte aber der mqtt-client zumindest etwas zum MQTT-Server schicken, aber es kommt nicht mal ein einziges IP-Paket dort an.
das mit udev und so ist mir sehr wohl bewusst, jedoch bei der Abfrage im Container
gibt es nur den USB0 wie im vorigen Beitrag beschrieben. jedoch erkennen die PHP-Scripts USB2***
Am Host gibt es sehr wohl einen USB2 also keine Ahnung wie das geht.
HOST:
root@filer-2:~# ls -la /dev/ttyU*
crwxrwxrwx 1 root root 188, 0 Nov 15 07:03 /dev/ttyUSB0
crw------- 1 root root 188, 2 Nov 16 21:32 /dev/ttyUSB2
root@filer-2:~# docker exec -ti solaranzeige /bin/bash
Container
root@078e53d092f7:/# ls -la /dev/ttyU*
crwxrwxrwx 1 root root 188, 0 Nov 18 10:09 /dev/ttyUSB0
root@078e53d092f7:/#
-
- Beiträge: 20
- Registriert: Mi 19. Okt 2022, 23:07
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 1 Mal
Re: Synology-Docker Serial trouble
Info zu dem Problem mit dem USB-Port im legacy Docker-Container:
Ausgabe der User-Config vor dem Aufruf von "usb_init" nur device ttyUSB0 ist vorhanden
root@078e53d092f7:/var/www/html# ls /dev/ttyU*
/dev/ttyUSB0
root@078e53d092f7:/var/www/html#
In der Config ist USB0 ist konfiguriert:
root@078e53d092f7:/var/www/html# cat user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB0";
$USBDevice = "/dev/ttyUSB0";
USB_init wird aufgerufen und ändert die Konfiguration auf USB1
root@078e53d092f7:/var/www/html# /var/www/html/usb_init.php
stty: /dev/ttyUSB1: No such file or directory
root@078e53d092f7:/var/www/html# cat user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB1";
$USBDevice = "/dev/ttyUSB0";
Obwohl es keinen USB1 im Docker-Container gibt, nur am Host gibt es USB1
root@078e53d092f7:/var/www/html# ls /dev/ttyU*
/dev/ttyUSB0
Wenn es dafür keine Lösung gibt kann ich gut damit leben den Init-Befehl in einem Crontab-script als Workaround aufzurufen.
Für das Problem mit dem MQTT-Client eröffne ich einen neuen Beitrag
Ausgabe der User-Config vor dem Aufruf von "usb_init" nur device ttyUSB0 ist vorhanden
root@078e53d092f7:/var/www/html# ls /dev/ttyU*
/dev/ttyUSB0
root@078e53d092f7:/var/www/html#
In der Config ist USB0 ist konfiguriert:
root@078e53d092f7:/var/www/html# cat user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB0";
$USBDevice = "/dev/ttyUSB0";
USB_init wird aufgerufen und ändert die Konfiguration auf USB1
root@078e53d092f7:/var/www/html# /var/www/html/usb_init.php
stty: /dev/ttyUSB1: No such file or directory
root@078e53d092f7:/var/www/html# cat user.config.php |grep ttyUSB
$USBRegler = "/dev/ttyUSB1";
$USBDevice = "/dev/ttyUSB0";
Obwohl es keinen USB1 im Docker-Container gibt, nur am Host gibt es USB1
root@078e53d092f7:/var/www/html# ls /dev/ttyU*
/dev/ttyUSB0
Wenn es dafür keine Lösung gibt kann ich gut damit leben den Init-Befehl in einem Crontab-script als Workaround aufzurufen.
Für das Problem mit dem MQTT-Client eröffne ich einen neuen Beitrag