Fehler Ausführung Config-Script wie auch Status-Script: sp3_ADC_Wide = float(serial_port.readline(99

Hallo!


Bei beiden Scripten erhalte ich diesen Fehler:


sp3_ADC_Wide = float(serial_port.readline(9999))/1000;
ValueError: could not convert string to float


Aufruf erfolgt mit


sudo python3 -E strompi3_config_v172.py


oder


sudo python3 -E strompi3_status_v172.py


Firmware ist aktuell auf 1.72c


Verwendet wird ein Raspberry Pi 4 mit 8GB RAM, Strompi3 v rev. 1.1


Mache schon lange rum und habe schon viel Zeit reingesteckt.


Ziel für mich ist es ein System zu haben, auf dem ich via Docker verschiedene Dinge zusammen fassen kann, wie z.B. piHole.


Der Raspberry Pi sollte durch den StromPi abgesichert sein, d.h. nach Stromausfall eine Zeitlang weiter betrieben zu werden (evtl. kommt ja der Strom rasch zurück) und nicht bei jedem kurzen Ausfall aussteigt.
Nach einer gewissen Zeit soll er dann heruntergefahren werden.
Nach Rückkehr des Stroms soll er dann wieder komplett hochfahren.


Was wäre für diesen Wunschbetrieb die korrekte Einstellungen?


Nachdem ich keine GUI verwende, da headless Betrieb arbeite ich mit dem Config-Skript.


Nach dem letzten Update des Grundsystems habe ich den oben genannten Fehler.


Vielen Dank!


 

Daniel

09.12.20 12:19

Den Fehler habe ich auch ab und zu. Er tritt aber nicht immer auf. Beim Versuch, den Fehler zu reproduzieren, trat er nicht mehr auf.

Eggert

09.12.20 13:43

Guten Tag Daniel,


der Fehler ist in der Regel ein Indiz dafür, dass es ein Problem mit der seriellen Kommunikation gibt. Dieses kann, abgesehen von der in der Anleitung ab Seite 20 (8.1 Aktivierung der seriellen Kommunikation) beschrieben Konfiguration der seriellen Schnittstelle auch an Anwendungen oder Scripts liegen, die im Hintergrund noch auf die serielle Schnittstelle zugreifen.



Was wäre für diesen Wunschbetrieb die korrekte Einstellungen?



Welche Strompfade möchten Sie denn für die Versorgung des Raspberry Pis nutzen und wie lange soll der Raspberry Pi laufen bis abgeschaltet wird?


Mit freundlichen Grüßen


Nils (Joy-IT)

Nils

11.12.20 12:29

Hallo Nils!


Ok, dann muss ich da mal schauen.


Eigentlich habe ich beim Hochfahren nur das eine Script am Start:


/etc/rc.local:


RTC_serialShutdown_serialless.py


Mehr startet nicht, nach meinem Verständnis der Anleitung sollte das ja das richtige sein.


 


Wunschbetrieb:


Stromversorgung normalerweise über mUSB Anschluss


Bei Stromausfall weiterbetreiben des Raspberry PI bis die Batterie "in die Knie" geht
Dann sauberes Herunterfahren.


Wenn Strom wieder da ist, erneutes Hochfahren und weiterfahren.


Vielen Dank schon mal für die Mühe!


Cu



Daniel

Daniel

11.12.20 18:51

Guten Tag Daniel,



/etc/rc.local:


RTC_serialShutdown_serialless.py


Mehr startet nicht, nach meinem Verständnis der Anleitung sollte das ja das richtige sein.



Ja, das sollte so funktionieren.


Die Konfiguration für den serialless Mode mit der gewünschten Funktionalität sollte dann so aussehen:




Mit freundlichen Grüßen


Tim (Joy-IT)

Tim

16.12.20 12:04

Hallo Tim!


Danke für die Info.


Das passt soweit für mich als Einstellungen.


Ändert aber an meinem Grundproblem nicht, dass das Script nicht durchläuft.


Habe daher, nachdem ich ja da schon lange "rumdoktere" neue SD Karte hergenommen und das aktuelle Raspian Pi OS 32 bit lite drauf gemacht und bin gerade dabei genau nach Eurer Schnellstart Anleitung alles herzurichten.


Da komme ich natürlich auch an den Punkt, da dem ich den StromPi konfigurieren muss via Script...


Und da habe ich wieder das gleiche Problem:


pi@raspberrypi:~/StromPi3_Scriptverzeichnis_20200108/Config Scripte nur main Version/V1.72/Config Script ohne GUI $ python3 strompi_config.py
Traceback (most recent call last):
  File "strompi_config.py", line 146, in <module>
    sp3_ADC_Wide = float(serial_port.readline(9999))/1000;
ValueError: could not convert string to float: 


 


Von daher leider keinen Schritt weiter gekommen...


Und das ist jetzt bei der Erstinbetriebnahme...


So langsam zweifle ich an mir...


Cu


Daniel


 

Daniel

16.12.20 14:42

Kleiner Nachtrag zu meinen vorherigen Beitrag:


Auch das Status-Script bringt Fehler...


pi@raspberrypi:~ $ python3 -E StromPi3_Status.py 
Traceback (most recent call last):
  File "StromPi3_Status.py", line 145, in <module>
    sp3_ADC_Wide = float(serial_port.readline(9999))/1000;
ValueError: could not convert string to float: 


Von daher frage ich mich so langsam wirklich...


Cu


Daniel


 

Daniel

16.12.20 15:10

Hallo Daniel,


um einen Fehler in der Konfiguration auszuschließen, können Sie eines unserer vorbereiteten Images verwenden.


Wenn Ihr Raspberry Pi korrekt konfiguriert wurde und Sie weder zusätzliche Hardware noch ein Skript im Hintergrund laufen haben, welche die serielle Kommunikation beanspruchen (dazu zählen auch Skripte im Autostart), handelt es sich höchst wahrscheinlich um einen Hardwaredefekt. In diesem Fall können Sie den StromPi bei Ihrem Händler oder direkt über uns umtauschen.


 


Mit freundlichen Grüßen 
Tim (Joy-IT)

Tim

17.12.20 15:05

Moin Moin,
ich hatte das gleiche Problem, da ich aus Versehen den Umschalter für den Flashmodus umgesetzt hatte.
Die serielle Schnittstelle liefert dann nur leere Bytearrays zurück, die bei der Konvertierung die Exception werfen.


Nachdem ich den Umschalter wieder zurückgesetzt hatte, funktierten alle Skripte wieder.


 


Mit freundlichen Grüßen
Sören

holistech

26.12.20 00:25