Seite 1 von 2

Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mo 21. Okt 2019, 18:33
von elbarto
Hallo,
ich versuche einen Wechselrichter anzusprechen. Als USB Device habe ich die Adresse "/dev/hidraw0" eingetragen, wie es mir über dmesg angezeigt wird. Bekomme folgende Fehler:
21.10. 18:25:50 -Device: /dev/hidraw0 Keine USB / Serielle Schnittstelle.
21.10. 18:25:50 -Zeile gefunden. Gerätenummer kann ausgetauscht werden. Index: 104 $GeraeteNummer = "2";
21.10. 18:25:50 -Zeile gefunden. Platine kann ausgetauscht werden. Index: 448 $Platine = "Raspberry unbekannt";
...
21.10. 18:26:26 -Verarbeitung von: '2.user.config.php' Regler: 9
21.10. 18:26:26 |---------------- Start mpi_3phasen_serie.php ---------------
21.10. 18:27:01 -Zu viele PHP Scripte: multi_regler_auslesen.php
21.10. 18:27:01 !! -|---> Stop PHP Script: multi_regler_auslesen.php *************

Eventuell ein Bug im mpi_3phasen_serie.php Skript?

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mo 21. Okt 2019, 19:29
von Ulrich
Ein BUG eher nicht. Jeder Script muss innerhalb einer Minute beendet sein! Bitte schaue einmal nach, warum der Script nicht innerhalb der Minute beendet wurde. Das kann folgende Ursachen haben.
  • Bei der Multi-Regler-Version darf man das Gerät nur ein, maximal 2 mal pro Minute auslesen lassen. (Variable in der x.user.config.php $Wiederholungen = 1 oder 2)
  • Es kann ein Problem beim Auslesen eines Gerätes geben.
In der /var/www/log/solaranzeige.log kannst Du eventuell sehen, warum der Script nicht nach ca. 58 Sekunden beendet ist.

Code: Alles auswählen

21.10. 18:26:26 |---------------- Start mpi_3phasen_serie.php ---------------
21.10. 18:27:01 -Zu viele PHP Scripte: multi_regler_auslesen.php
21.10. 18:27:01 !! -|---> Stop PHP Script: multi_regler_auslesen.php *************
Wie Du hier siehst, startet das Auslesen des 2. Gerätes 26 Sekunden nach dem Start der Routine. Die startet immer um 00 Sekunden
Um 18:27:01 Startet die Routine neu, das 2. Gerät hat aber noch nicht gemeldet, dass es fertig mit dem Auslesen ist. Deshalb startet die Gesamtroutine nicht. Kann der Hidraw Port der falsche sein?

Code: Alles auswählen

21.10. 18:25:50 -Device: /dev/hidraw0 Keine USB / Serielle Schnittstelle.
Diese Meldung deutet schon darauf hin.

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mo 21. Okt 2019, 20:04
von elbarto
Danke für die schnelle Antwort. Der Port ist auf jeden Fall richtig:
pi@solaranzeige:~ $ dmesg | grep 'hidraw'
[ 0.742267] hidraw: raw HID events driver (C) Jiri Kosina
[ 2.360607] hid-Wortzensur 0003:0665:5161.0001: hiddev96,hidraw0: USB HID v1.11 Device [HID 0665:5161] on usb-3f980000.usb-1.1.2/input0

Bekomme leider noch weitere Fehler:
1.10. 20:01:35 -Daten nicht zur lokalen InfluxDB gesendet! info: array (
'url' => 'http://localhost/write?db=wechselrichte ... recision=s',
...
21.10. 20:01:36 !! -Keine gültigen Daten empfangen.
21.10. 20:01:36 |---------------- Stop mpi_3phasen_serie.php ---------------

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mo 21. Okt 2019, 22:04
von Ulrich
Bitte gebe doch einmal "hwinfo --usb" ein. Das Problem ist, dass der Wechselrichter über den Hidraw Anschluss nicht ausgelesen werden kann. Alle anderen Fehler bauen darauf auf.

/dev/hidraw0 ist entweder nicht richtig, oder der Wechselrichter hat den Anschluss nicht freigegeben, oder das Kabel hat ein Problem.

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Sa 13. Jun 2020, 20:31
von soppi2308
Ulrich hat geschrieben:
Mo 21. Okt 2019, 19:29
Ein BUG eher nicht. Jeder Script muss innerhalb einer Minute beendet sein! Bitte schaue einmal nach, warum der Script nicht innerhalb der Minute beendet wurde. Das kann folgende Ursachen haben.
  • Bei der Multi-Regler-Version darf man das Gerät nur ein, maximal 2 mal pro Minute auslesen lassen. (Variable in der x.user.config.php $Wiederholungen = 1 oder 2)
  • Es kann ein Problem beim Auslesen eines Gerätes geben.
In der /var/www/log/solaranzeige.log kannst Du eventuell sehen, warum der Script nicht nach ca. 58 Sekunden beendet ist.

Code: Alles auswählen

21.10. 18:26:26 |---------------- Start mpi_3phasen_serie.php ---------------
21.10. 18:27:01 -Zu viele PHP Scripte: multi_regler_auslesen.php
21.10. 18:27:01 !! -|---> Stop PHP Script: multi_regler_auslesen.php *************
Wie Du hier siehst, startet das Auslesen des 2. Gerätes 26 Sekunden nach dem Start der Routine. Die startet immer um 00 Sekunden
Um 18:27:01 Startet die Routine neu, das 2. Gerät hat aber noch nicht gemeldet, dass es fertig mit dem Auslesen ist. Deshalb startet die Gesamtroutine nicht. Kann der Hidraw Port der falsche sein?

Code: Alles auswählen

21.10. 18:25:50 -Device: /dev/hidraw0 Keine USB / Serielle Schnittstelle.
Diese Meldung deutet schon darauf hin.
Ist es nich aktuell das man die Häufigkeit des Auslesens bei einer multiregler Version und der User.config ändert oder wie wird dies gemacht ?

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mo 15. Jun 2020, 11:57
von Ulrich
Für die Multi-Regler-Version ist das hier, ab Seite 19 beschrieben:
download/Multi-Regler-Version.pdf

Bei einer Single Geräte Version kann es in der user.config.php mit der Variable $Wiederholungen angegeben werden. (ca. Zeile 200)

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mi 18. Mai 2022, 19:39
von jkie
Ich hänge mich hier mal mit dran, da ich heute auch den Fall hatte, dass die Solaranzeige hing mit "zu viele PHP Scripte".

meine Konfiguration: PI 4b mit 2GB, Solaranzeige V4.7.7, Multi-User mit 4 Reglern (SDM630 + SDM630 + Homematic + MQTT)

Soweit ich es über das Fehlerprotokoll und Zeitstempel nachvollziehen kann, steht der Absturz in direktem Zusammenhang mit einem Fehler an der angebundenen Homematic (Raspberrymatic). An der Homematic hatte ich einen Fehler des angeschlossenen USB-Stick's (dient nur als Datenspeicher). Deshalb habe ich die Homematic runtergefahren, den Stick gewechselt und die Homematic neu gestartet. In diesem Zeitraum konnte die Homematic dann auch kein Daten an die Solaranzeige liefern, was dann anscheinend in der Solaranzeige zum Fehler "zu viele PHP Scripte" führt und dementsprechend auch keine Daten mehr in die InfluxDB geschrieben werden. Interessant fand ich im Fehlerprotokoll, dass das Wetter-Skript trotzdem 1 x pro Stunde lief. Nach einem Neustart der Solaranzeige lief wieder alles wie gewohnt.

Ich habe im Forum schon Beiträge gefunden, bei denen man sich für dieses Fehlerbild eigene Watchdogs geschrieben hat. Da ich mich aber grundsätzlich als Newbie bezeichnen würde, verstehe ich nicht wirklich was da gemacht wird und wie ich es auf mein System adaptieren könnte. Gibt es da mittlerweile auch andere Lösungsansätze?

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mi 14. Jun 2023, 14:36
von larres
Hallo zusammen,

ich bekomme jetzt auch diese Fehlermeldung.
Mal läuft das System 2-3 Tage problemlos, aber gestern und heute fast zur gleichen Zeit auf einmal "Zu viele PHP Scripte: multi_regler_auslesen.php"
multi.jpg
multi.jpg (51.06 KiB) 966 mal betrachtet
Installiert sind 2 Stück Huawei Sun2000-60KTL-M0, Solaranzeige ist die aktuelle Version auf einem Raspberry Pi 4b.
Ausgelesen wird mit einem USB RS485 Adapter. So eine 15€ Version von Amazon. (DSD TECH USB zu RS485)

Ich muss wohl erwähnen, dass parallel an der Leitung ein Logger von Amperecloud dran hängt, der die Daten ebenfalls ausliest.
Könnte das der Grund sein?

Das System fängt sich auch nicht mehr. Irgendwann kommen immer weiter Lesefehler.
lesefehler.jpg
Nach einem Reboot des Raspis läuft es wieder normal.

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Mi 14. Jun 2023, 17:43
von Ulrich
An einem RS485 Netzwerk darf nur ein Master sich befinden. Einen Wechselrichter kann nur von einem Gerät ausgelesen werden, nicht 2 Geräten parallel. Darüber gibt es aber hier im Forum schon sehr viele Beiträge.

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Verfasst: Do 15. Jun 2023, 17:05
von larres
Ok, das dachte ich mir schon.
Aus dem Grund habe ich es extra erwähnt.
Wenn ich das andere Gerät abklemme, werden ja keine Daten mehr zu meinem Direkvermarkter übertragen.
Kann ich den Raspi die Daten denn weiter geben lassen, an das andere Gerät, über einen zweiten RS485 USB Adapter?