Zu viele PHP Scripte: multi_regler_auslesen.php

Wenn mehr als ein Gerät an den Raspberry angeschlossen werden sollen. Z.B. ein Regler und ein Wechselrichter oder mehrere Wechselrichter. Das Maximum sind 6 Geräte pro Raspberry Pi.

Moderator: Ulrich

elbarto
Beiträge: 4
Registriert: So 20. Okt 2019, 20:17

Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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?

Benutzeravatar
Ulrich
Administrator
Beiträge: 5687
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 159 Mal
Danksagung erhalten: 902 Mal
Kontaktdaten:

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

elbarto
Beiträge: 4
Registriert: So 20. Okt 2019, 20:17

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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 ---------------

Benutzeravatar
Ulrich
Administrator
Beiträge: 5687
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 159 Mal
Danksagung erhalten: 902 Mal
Kontaktdaten:

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

soppi2308
Beiträge: 19
Registriert: Sa 29. Feb 2020, 06:32

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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 ?

Benutzeravatar
Ulrich
Administrator
Beiträge: 5687
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 159 Mal
Danksagung erhalten: 902 Mal
Kontaktdaten:

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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)
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

jkie
Beiträge: 9
Registriert: Mo 24. Aug 2020, 21:17
Hat sich bedankt: 8 Mal
Danksagung erhalten: 3 Mal

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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?

larres
Beiträge: 7
Registriert: Di 23. Mai 2023, 09:34
Hat sich bedankt: 1 Mal

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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) 1258 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.

Benutzeravatar
Ulrich
Administrator
Beiträge: 5687
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 159 Mal
Danksagung erhalten: 902 Mal
Kontaktdaten:

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

larres
Beiträge: 7
Registriert: Di 23. Mai 2023, 09:34
Hat sich bedankt: 1 Mal

Re: Zu viele PHP Scripte: multi_regler_auslesen.php

Beitrag 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?

Antworten

Zurück zu „Multi-Regler-Version [ bis zu 6 Geräten an einem Raspberry Pi ]“