Helpdesk

Hallo,
ich habe einen Raspberry Pi 2b mit einem Homematic Funkmodul (https://www.elv.de/homematic-funkmodul-fuer-raspberry-pi-bausatz.html). Ich möchte es nun um einen Strompi 3 und dem Battery Hat erweitern. Als Funktionen möchte ich dabei haben:

  • Automatisches Herunterfahren, wenn die Batteriespannung zu gering ist

  • Uhrzeitsynchronisation über die RTC


Ich habe es so verstanden, dass ich zuerst den Strompi 3 auf die aktuellste Firmware bringen sollte, dann über die serialle Konsole des Strompi 3 den Mode 3 aktivieren und auch den Battery Shutdown Mode sowie die RTC-Zeitsynchronisation aktivieren muss. Anschließend deaktivere ich wieder die serielle Konsole und kann dann das Homematic Funkmodul nutzen.
Brauche ich für dieses Vorhaben nun noch den Serialless-Mode oder nicht? Das wird mir aus der Anleitung nicht ganz klar.

Danke und viele Grüße
Andreas

Andreas

08.09.19 03:29

Guten Tag Andreas,
ich gehe davon aus, dass der serielle Port von dem Homatic Funkmodul verwendet wird. Aus diesem Grund sollte der StromPi 3 im "serial-less" Betrieb genutzt werden, um den seriellen Port für das Funkmodul freizugeben. Für Ihren beschriebenen Anwendungsfall ist das Skript "RTC_serialShutdown_serialless.py" geeignet. Bitte laden Sie sich hier die aktuelle Version des Skriptarchivs herunter.
Dieses Skript verwendet den seriellen Port nur am Anfang um die Zeit abzugleichen. Im Anschluss wird der serielle Port freigegeben.
Mit freundlichen Grüßen
Nils (Joy-IT)

Nils

09.09.19 14:37

Hallo Nils,
danke dir! Richtig, dass Funkmodul nutzt den seriellen Port, zumindest steckt es eben auf den GPIO-Ports und kommuniziert mit dem Pi. Dass heißt, ich muss nichts zusätzlich verdrahten oder löten? Das wäre super! Wie lang blockiert das Skript am Anfang den Port? Nicht das es da zu Race Conditions kommt während der Pi hochfährt und das Homematic-Funkmodul zum ersten Mal ansprechen will.
Fährt der StromPi nach einem Herunterfahren aufgrund geringen Batteriestands auch den Pi wieder hoch, sobald an der primären Stromquelle wieder eine Spannung anliegt?
Danke und viele Grüße
Andreas


PS: Finde ich super, dass ihr euch so aktiv um eure Community kümmert.

Andreas

10.09.19 22:06

Guten Tag Andreas,
danke für das Kompliment.
Es dauert ca. 25 Sekunden nach dem Start des Skripts, bis die serielle Kommunikation wieder deaktiviert ist.
Es muss noch eine Verbindung zwischen dem Reset Pin und dem verwendeten GPIO Pin hergestellt werden. Sie müssen dazu aber nicht zwangsweise löten, da es eine Lösung gibt, die auf einer Steckbrücke basiert. Die Anleitung dazu finden Sie hier unter 8.1 Modifikationen Serialless.
Mit freundlichen Grüßen
Nils (Joy-IT)

Nils

11.09.19 13:16

Ist die Steckbrücke die Variante 1? Nach der Anleitung geht das nicht, wenn ich den Battery Hat verwende, aber genau den möchte ich ja nutzen.

Andreas

11.09.19 23:25

Guten Tag Andreas,
prinzipiell ist die Aussage in der Anleitung auch richtig. Es gibt jedoch 2 Möglichkeiten diese Variante doch zu verwenden. Beide Ansätze sind etw. pragmatisch.
Der erste Ansatz ist etw. rabiat funktioniert aber auch:

Die zweite Lösung ist etw. eleganter:

  1. Lösen Sie den DuPont Kontakt aus dem Gehäuse und winkeln Sie diesen ab. Im Anschluss kürzen Sie das Gehäuse (z. B. mit einem Cuttermesser) auf die gewünschte länge ein.

  2. Stecken Sie den DuPont Kontakt wie auf dem Bild zusehen wieder in das Gehäuse.

  3. Nutzen Sie jetzt Isolierband um den Kontakt im Gehäuse zu sichern und zu isolieren.

  4. So sieht es dann fertig aus:


Alternativ können Sie aber natürlich auch die Lötvariante nutzen.
Mit freundlichen Grüßen
Nils (Joy-IT)

Nils

12.09.19 12:19

Hallo,

ich habe Probleme, den StromPI3 mit der Homematic-Platine zum Laufen zu bekommen. Folgende Installation habe ich:

  • Raspberry 3B

  • Homematic GPIO Platine

  • StromPi3 Vers. 1.3 mit BatterieHAT


Die Kombination aus Raspi3B und Homematic GPIO Platine funktioniert. Schließe ich nun den Strompi3 an, fährt das System hoch, aktiviert auch kurz die Verbindung zur Homematic Platine (1sec) und danach bricht die Verbindung zur Homematic ab. Eventuell ist das Proble der Serialless-Mode!??

Der Strompi3 wurde folgendermaßen eingestellt:

  • Firmware 1.72c

  • per Serialverbindung parametriert

  • dann die Softwareeinstellung im Konfigurator-de auf Serialless on

  • auf der Platine den Serialless Stecker auf ON gestellt


Mit obiger Konfiguration kann ich mit Strompi3 Platine keine Verbindung zur Homematic aufnehmen.

Wenn ich die Anleitung richtig verstanden habe, muss man trotzdem den Befehl "sudo Python3 Start_Serialless.py" geben, damit nach kurzer Wartezeit die Serielle Verbindung für die Homematic freigegeben wird. Es kommt die Fehlermeldung:

--------------------------------------------------------------

sudo python3 Start_Serialless.py
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "Start_Serialless.py", line 22, in
serial_port.open()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open
raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial0: [Errno 2] No such file or directory: '/dev/serial0'

---------------------------------

Die Datei /dev/serial0 existiert nicht, darum wahrscheinlich der Fehler. Auch "RTCSerialless" funktioniert nicht.

Wie gesagt, ohne die Strompi3 Platine läuft die Verbindung zur Homematic super,  was läuft mit StromPi3 Platine falsch??

Grüße

Andreas

andi_matic

20.10.20 22:34

Hallo Andreas,

die Fehlermeldung deutet daraufhin, dass bereits ein Skript im Hintergrund läuft, welches die serielle Kommunikation nutzt.
Dieses Skript müssen Sie erst beenden, bevor Sie das Start_Serialless.py Skript starten.
Da das RTCSerialless Skript den Serialles-Mode kurz beendet, um über Serial die RTC zu Konfigurieren, müssen Sie auch für dieses Skript alle im Hintergrundlaufende Skripte, die Serial verwenden, pausieren.

Mit freundlichen Grüßen

Tim (Joy-IT)

Tim

22.10.20 11:49

Hallo,

vielen Dank für die Rückmeldung.

Die eigentliche Frage meinerseits bezieht sich aber auf die Homematic Anwendung. Wenn die Strompi3-Platine nicht auf dem Raspi 3B (altuelle Buster Installation)steckt, kann ich die Homematic problemlos ansprechen. Stecke ich nun die StromPi3-Platine V 1.1  (Serialless Jumper auf on) dazu, kann ich die Homematic nicht mehr ansprechen. Homematic benötigt die serielle Kommunikation. Außerdem kann man an der Status.LED der Homematic erkennen, dass sie bei aufgestecktem StromPi3 nicht ordnungsgemäß initialisiert wird. Lt. Homematic Forum liegt es daran, dass der Strompi die serielle Kommunikation beansprucht, was ich aber doch durch den Jumper unterbunden habe!?? Muss ich außer dem Jumper noch etwas deaktivieren?? In der Konfig-Software des Strompi ist der Serialless Mode auch aktiviert. Firmware des StromPi3 ist 1.72c.

Ich bin bisher davon ausgegangen, dass durch den StrimPi3 Serialless Jumper ON jegliche serielle Kommunikation des StromPi's eingestellt wird.Ist irgendwo ersichtlich, was der Strompi an der GPIO Leiste belegt und für andere aufgesteckte Platinen sperrt?




Danke für Eure Hilfe.

Andreas

andi_matic

23.10.20 12:58

Hallo Andreas,

der StromPi befindet sich erst im Serialless-Mode, wenn Sie:
1. Den Jumper auf On gestellt haben.
2. Den Serialless-Mode in der StromPi Config aktiviert haben.
3. Das Skript Start_Serialless.py ausgeführt haben.

Schritt 3 muss nach jedem Neustart des Geräts wiederholt werden.

Wir haben jedoch auch eine speziell angepasste Firmware, bei der Schritt 3 nicht mehr nötig ist. Diese können Sie hier herunterladen.
Jedoch können Sie mit dieser Firmware, nach dem Sie Schritt 2 durchgeführt haben, den Serialless-Mode nicht mehr beenden.
Das bedeutet, dass Sie keine weiteren Einstellungen mehr vornehmen können und, dass nur noch die Skripte funktionsfähig sind, die nicht die serielle Kommunikation nutzen (poweralarm_serialless.py und powershutdown_serialless.py).
Nur durch ein erneutes aufspielen der Firmware lässt sich der Serialless-Mode wieder beenden.
Alle benötigten Einstellungen sollten also vor der Aktivierung des Serialless-Modes vorgenommen werden.

Die einzigen vom StromPi verwendeten Pins sind Pin 8 & 10 für die serielle Kommunikation und Pin 40 als alternative Kommunikationsroute im Serialless-Mode. Letzteren können Sie jedoch auch frei belegen, in dem Sie den serialless-Jumper entfernen und den mittleren Pin mit einem von Ihnen gewünschten freien GPIO Pin verbinden. In dem Fall müssen Sie jedoch auch den Pin in den genutzten Python Skripts anpassen.

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

Tim

23.10.20 14:02

Hallo,

ich habe noch einiges ausprobiert, um die Kombination Raspi3B, StromPi3 mit Batterie Hub und Homematic (RPI-RF-MOD Platine) zum Laufen zu bekommen. Leider scheint der Strompi3 hier etwas zu verhindern!??

Folgendes Szenario 1:

Raspi3B

StromPi3 mit Batterie Hub, Spannungsversorgung über Micro USB und Wide

Homematic Platine

Wenn ich diese Kombination zusammenstecke und starte, funktioniert alles problemlos.Mache ich einen Reboot, kann die Homematic nicht angesprochen werden. Beim Reboot bleibt offensichtlich die Homematic Platine unter Spannung, erkennbar an einer blauen Status LED.

Folgendes Szenario 2:

Raspi3B

StromPi3, Spannungsversorgung über Micro USB und Wide

Homematic Platine

Wenn ich den Batterie Hub entferne und erstmals neu starte, funktioniert alles super. Bei einem Reboot aber zeigt sich wieder das obige Fehlverhalten.

Bei gleicher Konfiguration, aber Abstecken des Netzteils nach einem Herunterfahren und warten, bis alle LED's ausgehen, ist der Neustart erfolgreich.

Offensichtlich versorgt der StromPi3 während eines Reboot noch Pins am GPIO mit Spannung, anders als es der Raspi bei einem Reboot/Neustart macht.

Das Originalverhalten von Raspi  nur mit Homematic Modul ist, dass bei einem Reboot die Status LED der Homematic Platine aus geht und ein Neustart immer zu gewünschten Ergebnis führt.




Was macht der StromPi3 bei einem Reboot mit den GPIO's anders, als es der Raspi mit seinen GPIO's macht??

andi_matic

01.11.20 22:12

Guten Tag andi_matic,
der Unterschied bei einem Reboot, bei dem der Raspberry Pi durch den StromPi 3 versorgt wird ist, dass der StromPi den Raspberry Pi über die 5 V und GND Pins der GPIO Leiste versorgt. Wenn Sie jetzt den Befehl "sudo reboot" eingeben, bekommt der StromPi 3 davon nichts mit. Also startet der Raspberry Pi neu, allerdings bleibt die GPIO leiste die ganze Zeit mit 5 V versorgt.
Wenn Sie den StromPi 3 mit dem shutdown.py Script herunterfahren, können Sie den Raspberry Pi nachdem der StromPi 3 die Stromversorgung unterbrochen hat, mit dem PowerOn-Button oder durch kurzes Trennen der primären Spannungsversorgung den Raspberry Pi neustarten.

Mit freundlichen Grüßen

Nils (Joy-IT)

Nils

02.11.20 12:06

Hallo,

vielen Dank für die schnelle Antwort.

Ich betreibe des Raspi entfernt, d.h. habe nach einen Herunterfahren keine Möglichkeit, den Power-On Knopf zu drücken (theoretisch besteht noch die Möglichkeit, eine WLAN Steckdose zu nutzen, müsste dann aber die Fritzbox und Raspi getrennt mit Strom versorgen.)

Gibt es eigentlich einen serialless-reboot befehl, bei dem der Strompi3 die Spannungsversorgung an GPIO wegnimmt?? Welche Möglichkeit hätte ich noch, einen remote Neustart zu veranlassen??

Danke für Eure Unterstützung

Andreas

andi_matic

02.11.20 12:41

Leider kann ich meinen Beitrag nicht editieren, somit ergänze ich ihn.

Wie ich bei den verschiedensten Tests festgestellt, funktioniert der Start des Raspi3 mit Strompi3Platine (ohne Batterie Hub) und mit Homematic Platine nur, wenn ich mit einem Neustart so lange warte, bis alle LED's auf der StromPi3/Raspi3 Platinen wirklich erloschen sind. Bei einem remote Reboot wäre dies wahrscheinlich nicht gegeben!??

Wäre eventuell ein serialless_reboot denkbar, der die GPIO's gezielt spannungsfrei  schaltet/eine Zeitspanne zum Entladen der Kondensatoren lässt, oder wäre dann der StromPi3 auch ohne jegliche Funktion/Möglichkeit, einen Neustart einzuleiten??

andi_matic

02.11.20 13:05

Guten Morgen andi_matic,

1.
Gibt es eigentlich einen serialless-reboot befehl, bei dem der Strompi3 die Spannungsversorgung an GPIO wegnimmt?? Welche Möglichkeit hätte ich noch, einen remote Neustart zu veranlassen??

In der jetzigen Firmware gibt es leider keinen serialless-reboot Befehl. Ohne Anpassungen der Firmware ist es zur Zeit leider auch nicht möglich.

2.
Bei einem remote Reboot wäre dies wahrscheinlich nicht gegeben!??

Leider ist es der Zeit nicht gegeben.

3.
Wäre eventuell ein serialless_reboot denkbar, der die GPIO’s gezielt spannungsfrei  schaltet/eine Zeitspanne zum Entladen der Kondensatoren lässt, oder wäre dann der StromPi3 auch ohne jegliche Funktion/Möglichkeit, einen Neustart einzuleiten??

Ja, denkbar ist es. Wir wollen uns der Rebootproblematik im nächsten Funktionsupdate der StromPi Firmware widmen. Allerdings gibt es leider für Ihre Problematik mit dem aktuellen Firmwarestand keine Softwarelösung.

Gerne kann ich Sie informieren, sobald es Neuigkeiten zu diesem Thema gibt.

Mit freundlichen Grüßen

Nils (Joy-IT)

Nils

04.11.20 09:54

Hallo,

vielen Dank für eure offene Antwort.

So wie ich es verstanden habe, ist der StromPi3 aktuell nicht voll umfänglich kompatibel mit der Homematic GPIO Platine. Eventuell wird sich im nächsten Funktionsupdate dem Punkt Serialless-reboot angenommen.

Ist es zu erwarten, dass dann auch eine Kompatibilität mit der Homematic Platine gegeben ist? Hier liegt es ja offensichtlich noch an weiteren Punkten, die geändert werden müssten! Das es prinzipiell möglich ist, zeigt ja ein Marktbegleiter.

Vielleicht könnt Ihr bitte nochmals kommentieren, ob die Herstellung der Homematic Kompatibilität "kurzfristig" ein Punkt im Pflichtenheft ist. Ich werde vorerst den StromPi3 mit Batterie Hub leider wieder deinstallieren müssen, da selbst ein lokaler Reboot die Homematic nicht starten lässt.

Vielen Dank

Andreas

andi_matic

04.11.20 11:21

Guten Tag andi_matic,

wir können Ihnen im Laufe der nächsten Woche eine leicht modifizierte Version der aktuellen 1.72c Firmware zum testen anbieten. So könnten Sie den StromPi 3 bis zum Funktionsupdate trotzdem nutzen.

Mit freundlichen Grüßen

Nils (Joy-IT)

Nils

05.11.20 13:19

Hallo,

dies würde mich echt freuen, wenn die Firmware soweit angepasst werden könnte, dass die Homematic an GPIO nutzbar ist. Eure Kundenservice ist bisher wirklich sehr gut!

Nur noch um sicher zu gehen die Problematik (es ist ein remote Betrieb des Raspi geplant)

RPI mit StromPi3 und Homematic Platine

  • Neustart mit anschließend funktionierender Homematic immer nur dann möglich, wenn nach dem Herunterfahren die externe Stromversorgung getrennt und solange gewartet wird, bis alle LED's an den 3 Platinen aus gehen.

  • ansonsten ist zwar der Neustart möglich, aber Homematic lässt sich nicht ansprechen


RPI mit StromPi3, Batterie Hub und Homematic Platine

  • Nach erstmailigem Zusammenstecken und Neustart lässt die Homematic sich ansprechen, alles funktioniert

  • Beim Reboot leuchten beim Herunterfahren/Neustart durchgehend die LED an der Homematic, nach dem Neustart lässt sich die Homematic nicht ansprechen

  • Auch ein Herunterfahren (shutdown), trennen der externen Stromversorgung (Batterie Hub bleibt installiert) und Neustart lässt die LED der Homematic durchgehend leuchten, nach dem Neustart lässt sich die Homematic nicht ansprechen.


Standardverhalten Raspi nur mit Homematic Platine

  • beim Reboot Prozeß geht die LED der Homematic komplett aus. Beim Neustart geht sie irgendwann an und nach dem kompletten Hochfahren des Raspi läßt sich die Homematic ansprechen.


Vielen Dank

Andreas

andi_matic

05.11.20 13:59

Hallo andi_matic,

wir haben die Firmware des StromPi3 etwas angepasst und um eine Reboot-Funktion ergänzt.

Wenn der StromPi den Reboot-Befehl empfängt, trennt er nach 20 Sekunden die Spannungsversorgung zum Raspberry Pi und stellt diese weitere 20 Sekunden später wieder her. Dadurch startet der Raspberry Pi automatisch neu.
Wenn in der StromPi-Konfiguration der Serialless-Modus aktiviert wurde, startet der StromPi nach dem Neustart mit aktiviertem Serialless-Modus. Ein Ausführen des Start_Serialless.py Skripts ist dadurch dann nicht mehr nötig.
Wir haben außerdem ein Python-Skript vorbereitet, welches zuerst den Serialless-Modus stoppt, dann den Reboot-Befehl an den StromPi sendet und im Anschluss den Raspberry Pi herunterfährt.

Sie können die Firmware und das Python-Skript hier herunterladen.

Bitte testen Sie, ob mit der Firmware Version alles wie vorgesehen funktioniert. Bei Problemen können sie sich gerne wieder an uns wenden.

Mit freundlichen Grüßen

Tim (Joy-IT)

Tim

11.11.20 16:05

Ich habe die neue Firmware ausprobiert, leider ohne Erfolg.

Reboot.py funktioniert leider nur dann, wenn der durch die pivccu Installation erzeugte "dtoverlay=pivccu-raspberrypi" Eintrag in der config.txt (boot Verzeichnis) deaktiviert wird. Dann fährt der Raspi herunter, wartet, bis alle LED's erloschen (Kondensatoren entladen) sind und fährt danach wieder hoch.

Wenn aber dtoverlay=pivccu-raspberrypi aktiviert ist, kommt bei sudo python3 reboot.py nur die Anzeige des 10 s Delay und dann diverse Fehlermeldungen. Leider habe ich die Fehlermeldungen nicht kopiert, es waren aber Fehler zur seriellen Schnittstelle 0!??

Ich glaube, sofern von Euch keine Test mit vorhandenem Raspi, Strompi3 und Homematic Platine gemacht werden, kommen wir hier leider nicht weiter.

Danke für Eure Bemühungen, ich werde aber das USV System umstellen, da ich den Raspi produktiv bekommen muss.

Grüße

Andreas

andi_matic

16.11.20 11:35

Hallo andi_matic,

da wir keine Homematic-Platine zur Verfügung haben, können wir die Problematik leider nicht selber testen.
Der Reboot-Befehl muss über die serielle Schnittstelle gesendet werden, es könnte sein, dass Ihr Homematic-Board die Kommunikation stört.
Eventuell hilft es, die serielle Kommunikation des Homematic-Boards zu unterdrücken, während sie den Reboot-Befehl senden.

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

Tim

16.11.20 13:54

folgende Fehlermeldung kommt:

~ $ sudo python3 reboot.py
Setting GPIO to LOW to Disable Serialless Mode.
This will take approx. 10 seconds.
Serialless Mode is Disabled!
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "reboot.py", line 32, in
serial_port.open()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open
raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial0: [Errno 2] No such file or directory: '/dev/serial0'

Diese Programme sind aktiv, nur welches Programm blockiert die serielle Schnittstelle?

ps -e
PID TTY TIME CMD
1 ? 00:00:04 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
4 ? 00:00:00 rcu_par_gp
5 ? 00:00:00 kworker/0:0-events
6 ? 00:00:00 kworker/0:0H-mmc_complete
7 ? 00:00:00 kworker/u8:0-events_unbound
8 ? 00:00:00 mm_percpu_wq
9 ? 00:00:00 ksoftirqd/0
10 ? 00:00:00 rcu_sched
11 ? 00:00:00 migration/0
12 ? 00:00:00 cpuhp/0
13 ? 00:00:00 cpuhp/1
14 ? 00:00:00 migration/1
15 ? 00:00:00 ksoftirqd/1
16 ? 00:00:00 kworker/1:0-events
17 ? 00:00:00 kworker/1:0H-kblockd
18 ? 00:00:00 cpuhp/2
19 ? 00:00:00 migration/2
20 ? 00:00:00 ksoftirqd/2
21 ? 00:00:00 kworker/2:0-events
22 ? 00:00:00 kworker/2:0H-kblockd
23 ? 00:00:00 cpuhp/3
24 ? 00:00:00 migration/3
25 ? 00:00:00 ksoftirqd/3
26 ? 00:00:00 kworker/3:0-events
27 ? 00:00:00 kworker/3:0H-kblockd
28 ? 00:00:00 kdevtmpfs
29 ? 00:00:00 netns
30 ? 00:00:00 kworker/0:1-events
31 ? 00:00:00 kworker/1:1-events
32 ? 00:00:00 kauditd
33 ? 00:00:00 khungtaskd
34 ? 00:00:00 oom_reaper
35 ? 00:00:00 writeback
36 ? 00:00:00 kcompactd0
54 ? 00:00:00 kblockd
55 ? 00:00:00 blkcg_punt_bio
56 ? 00:00:00 watchdogd
57 ? 00:00:00 kworker/2:1-cgroup_destroy
58 ? 00:00:00 rpciod
59 ? 00:00:00 kworker/u9:0
60 ? 00:00:00 xprtiod
61 ? 00:00:00 kswapd0
62 ? 00:00:00 nfsiod
63 ? 00:00:00 kworker/3:1-events
64 ? 00:00:00 iscsi_eh
65 ? 00:00:00 dwc_otg
66 ? 00:00:00 DWC Notificatio
67 ? 00:00:00 kworker/2:2-events_power_efficient
68 ? 00:00:00 vchiq-slot/0
69 ? 00:00:00 vchiq-recy/0
70 ? 00:00:00 vchiq-sync/0
71 ? 00:00:00 vchiq-keep/0
72 ? 00:00:00 SMIO
73 ? 00:00:00 kworker/2:3-events
74 ? 00:00:00 kworker/2:4-events
75 ? 00:00:00 mmc_complete
76 ? 00:00:00 kworker/2:1H-kblockd
77 ? 00:00:00 kworker/0:1H-kblockd
78 ? 00:00:00 kworker/1:1H-kblockd
79 ? 00:00:00 jbd2/mmcblk0p2-
80 ? 00:00:00 ext4-rsv-conver
81 ? 00:00:00 kworker/1:2H-kblockd
82 ? 00:00:00 ipv6_addrconf
83 ? 00:00:00 kworker/1:2-cgroup_destroy
84 ? 00:00:00 kworker/u8:1-events_unbound
87 ? 00:00:00 kworker/3:1H-kblockd
99 ? 00:00:00 kworker/3:2H-kblockd
100 ? 00:00:00 kworker/2:2H-kblockd
101 ? 00:00:00 kworker/0:2-events
107 ? 00:00:00 kworker/0:2H-mmc_complete
111 ? 00:00:00 scsi_eh_0
112 ? 00:00:00 scsi_tmf_0
113 ? 00:00:00 kworker/0:3-events
114 ? 00:00:00 usb-storage
120 ? 00:00:00 systemd-journal
146 ? 00:00:00 systemd-udevd
165 ? 00:00:13 w1_bus_master1
167 ? 00:00:00 spi0
170 ? 00:00:00 SMIO
171 ? 00:00:00 kworker/3:2-cgroup_destroy
189 ? 00:00:00 mmal-vchiq
190 ? 00:00:00 mmal-vchiq
239 ? 00:00:00 uas
261 ? 00:00:00 kworker/u8:2-phy0
266 ? 00:00:00 cfg80211
267 ? 00:00:00 mmal-vchiq
268 ? 00:00:00 mmal-vchiq
316 ? 00:00:00 kworker/1:3-events
335 ? 00:00:00 jbd2/sda1-8
336 ? 00:00:00 ext4-rsv-conver
373 ? 00:00:00 lxcfs
375 ? 00:00:00 udisksd
378 ? 00:00:00 alsactl
379 ? 00:00:00 thd
381 ? 00:00:00 rsyslogd
382 ? 00:00:00 systemd-logind
388 ? 00:00:05 wicd
389 ? 00:00:00 dbus-daemon
394 ? 00:00:00 wpa_supplicant
395 ? 00:00:00 avahi-daemon
398 ? 00:00:00 cron
472 ? 00:00:00 avahi-daemon
490 ? 00:00:00 autossh
503 ? 00:00:00 polkitd
513 ? 00:00:00 dhclient
566 ? 00:00:00 rpimonitord
579 ? 00:00:00 rpimonitord
580 ? 00:00:00 rpimonitord
584 ? 00:00:00 wicd-monitor
880 ? 00:00:00 wpa_supplicant
897 ? 00:00:00 cryptd
911 ? 00:00:00 dhclient
1004 ? 00:00:00 systemd-timesyn
1142 ? 00:00:00 vncserver-x11-s
1143 ? 00:00:00 php-fpm7.0
1162 ? 00:00:00 kworker/0:4
1169 ? 00:00:01 vncserver-x11-c
1185 ? 00:00:00 lightdm
1246 ? 00:00:00 sshd
1288 ? 00:00:00 php-fpm7.0
1289 ? 00:00:00 php-fpm7.0
1306 tty7 00:00:01 Xorg
1307 tty1 00:00:00 agetty
1495 ? 00:00:00 vncagent
1614 ? 00:00:00 lightdm
1959 ? 00:00:00 kworker/1:4-events
1960 ? 00:00:00 kworker/1:5-events
1961 ? 00:00:00 kworker/1:6-mm_percpu_wq
1962 ? 00:00:00 kworker/1:7-events
1963 ? 00:00:00 kworker/1:8-events
1975 ? 00:00:00 ssh
2015 ? 00:00:00 systemd
2016 ? 00:00:00 (sd-pam)
2031 ? 00:00:00 gnome-keyring-d
2034 ? 00:00:00 lxsession
2042 ? 00:00:00 dbus-daemon
2066 ? 00:00:00 ssh-agent
2077 ? 00:00:00 gvfsd
2082 ? 00:00:00 gvfsd-fuse
2092 ? 00:00:00 openbox
2094 ? 00:00:00 lxpolkit
2096 ? 00:00:02 lxpanel
2099 ? 00:00:01 pcmanfm
2104 ? 00:00:00 ssh-agent
2106 ? 00:00:00 wicd-client
2122 ? 00:00:01 clipit
2124 ? 00:00:00 pulseaudio
2140 ? 00:00:00 rtkit-daemon
2153 ? 00:00:00 vncserverui
2174 ? 00:00:00 gvfs-udisks2-vo
2182 ? 00:00:00 gvfs-goa-volume
2185 ? 00:00:00 menu-cached
2186 ? 00:00:00 vncserverui
2193 ? 00:00:00 gvfs-afc-volume
2201 ? 00:00:00 gvfs-gphoto2-vo
2215 ? 00:00:00 gvfs-mtp-volume
2254 ? 00:00:00 gvfsd-trash
2262 ? 00:00:00 gvfsd-metadata
2678 ? 00:00:00 lxterminal
2687 pts/0 00:00:00 bash
2696 ? 00:00:00 systemd-udevd
2724 pts/0 00:00:00 ps

Das eigentliche Programm pivccu im Container fährt mit aufgestecktem StromPi3 leider nicht hoch, ohne ja.




Eine Homematic Platine von ELV kostet etwas über 30 €, wenn ihr es hinbekommt und dass auch bewerbt, steigt garantiert der euer Umsatz! Wäre es nicht mal überlegenswert, Ihr holt euch die kleine Platine??

andi_matic

16.11.20 17:21

Ich habe mich entschlossen, den Raspi völlig neu aufzusetzen, um mit einem sauberen System zu testen.

Ich habe dazu euer Raspi-Image genommen, der Strompi3 (ohne Batterie Hub) hat eure spezielle Firmware, Hardware ist V1.1. Der StromPi3 ist als Serialless parametriert (Steckbrücke und Software). mUSB und Wide Eingang sind mit Spannung versorgt. StromPi Modus: mUSB-WIDE

Starte ich alles neu, wird der Pi mit reboot.py neu gestartet, passsiert folgendes:

  • ich kann den StromPi-Konfigurator starten , Konfiguration wird angezeigt

  • nach dem Reboot vergehen ca. 10 s, der Pi wird runtergefahren

  • nach einer kurzen zeit 30sek? geht die rote mUSB LED aus und die rote Pi LED

  • nach ca. 30 sek? startet die Pi neu, alles ok


Wenn ich nach dem Hochfahren wieder den StromPi-Konfigurator starte, kann er die Konfig nicht laden, da jetzt die serielle Schnittstelle offensichtlich nicht da ist. Dies ist aber nicht relevant, da der Strompi bereits konfiguriert ist. Starte ich dann reboot.py, passiert folgendes:

  • pi fährt runter

  • rote mUSB LED und rote PI LED bleiben aber an!

  • in diesem Zustand verharrt der PI bis ins Jahr 3000!! WIESO STARTET DER PI JETZT NICHT ???????

  • ziehe ich mUSB Stecker ab, geht die rote Raspi LED aus, die blaue Wide LED an und dann geht die rote PI LED auch wieder an

  • wenn ich aber vor reboot.py den Befehl Stop_Serialless.py noch gebe, dann funktioniert der Reboot der StromPi-Platine immer!!

  • offensichtlich fehlt stop_serialless in eurem Skript reboot.py???





Nun mit aufgesetztem Batterie-Hub, Mode mUSB-Wide-Batterie

hier muß ebenfalls der Serialless Modus vor dem reboot.py gestoppt werden, anderenfalls funktioniert der Neustart nicht. Somit ist jetzt die Voraussetzung da, dass der StromPi3 (wenn serialless konfiguriert) auch zuverlässing startet, was vorher offensichtlich nicht gegeben war!

Was heißt das nun aber in Zusammenhang mit der Homematic, die ebenfalls seriellen Datenverkehr hat. Muss zu Neustart der Homematic Container zuerst gestoppt werden, damit die serielle Kommunikation für den StromPi3 Reboot bereit steht?

Vielleicht kann sie der support diesen Themas annehmen, einen Betatester hat Joy-it, leider scheint es anders nicht zu funktionieren.....danke trotzdem für eure bisherige Hilfe.

andi_matic

17.11.20 12:53

Ich habe nun teilweise die Homematic installiert und probiere zwischendurch, ob reboot.py noch zuverlässig funktioniert. Das ist jetzt nicht mehr der Fall.

Folgende Änderungen sind mir aufgefallen:

  • vor der homematic Installation gab es noch serial0 und serial1, jetzt nur noch serial1 (siehe unten)

  • in der config.txt der boot Partition wurde eingefügt: dtoverlay=pivccu-raspberry





sudo python3 Stop_Serialless.py
Setting GPIO to LOW to Disable Serialless Mode.
This will take approx. 10 seconds.
Serialless Mode is Disabled!
Serialless is now disabled...Press Enter to exit

pi@raspi3B:~ $ sudo python3 reboot.py
Setting GPIO to LOW to Disable Serialless Mode.
This will take approx. 10 seconds.
Serialless Mode is Disabled!
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/serial0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "reboot.py", line 32, in
serial_port.open()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open
raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/serial0: [Errno 2] No such file or directory: '/dev/serial0'

pi@raspi3B:~ $ ls /dev |grep serial
serial1

Wie komme ich hier weiter?? Wenn eurerseits weiterhin das Interesse besteht, den Punkt zu lösen, bin ich bereit, es zu testen.

andi_matic

17.11.20 14:08

Hallo andi_matic,

vielen Danke für Ihre Hilfe.

Durch das Overlay wurde wahrscheinlich der Symlink für die serielle Schnittstelle geändert.

Versuchen Sie in dem Pythonskript Reboot.py die Zeile:

serial_port.port = ‚/dev/serial0‘

nach

serial_port.port = ‚/dev/ttyAMA0‘

zu ändern.




Mit freundlichen Grüßen

Tim (Joy-IT)

Tim

18.11.20 12:06

Leider kommt hier eine analoge Fehlermeldung:

pi@raspi3B:~ $ sudo python3 Stop_Serialless.py
Setting GPIO to LOW to Disable Serialless Mode.
This will take approx. 10 seconds.
Serialless Mode is Disabled!
Serialless is now disabled...Press Enter to exit

pi@raspi3B:~ $ sudo python3 reboot.py
Setting GPIO to LOW to Disable Serialless Mode.
This will take approx. 10 seconds.
Serialless Mode is Disabled!
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 265, in open
self.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/ttyAMA0'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "reboot.py", line 32, in
serial_port.open()
File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open
raise SerialException(msg.errno, "could not open port {}: {}".format(self._p ort, msg))
serial.serialutil.SerialException: [Errno 2] could not open port /dev/ttyAMA0: [ Errno 2] No such file or directory: '/dev/ttyAMA0'
pi@raspi3B:~ $




Der Inhalt der config.txt ist:

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=82

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2

[all]
#dtoverlay=vc4-fkms-v3d
dtoverlay=pi3-miniuart-bt
enable_uart=1
core_freq=250

#Bluetooth deaktivieren_mod
#dtoverlay=pi3-disable-bt




Der Inhalt der cmdline.txt ist:

console=tty1 root=PARTUUID=c870ce99-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles

andi_matic

18.11.20 12:32

sorry,

in der config.txt sind noch folgende Zeilen enthalten, kamen beim Kopieren nicht mit

#raspi-config
dtoverlay=w1-gpio
dtoverlay=pivccu-raspberrypi

andi_matic

18.11.20 12:35

Hallo andi_matic,

da wir das Homematic-Board nicht zur Verfügung haben, gestaltet sich die Fehlersuche etwas schwierig. Wir würden empfehlen, dass Sie sich an den Hersteller des Homematic-Boards wenden.
Wenn es eine Möglichkeit gibt, die serielle Kommunikation anderweitig zu nutzen, sollte er am besten wissen, welche Einstellungen dafür nötig sind.

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

Tim

20.11.20 10:57