Hallo zusammen,
ich suche schon seit ein paar Tagen im Forum und habe eigentlich nach WIKI gearbeitet, aber ich bekomme das HM-MOD-RPI-PCB nicht zum Laufen.
Vorgeschichte: FHEM läuft auf einem Rapsberry 3B mit PiDrive. Das PiDrive scheint am Sterben zu sein. Deshalb habe ich mit einen Raspberry 5 gegönnt und boote ihn von SSD (also ohne SD-Karte). Das Grund-FHEM habe ich zum laufen bekommen, aber das HM-MOD-RPI-PCB möchte nicht mitspielen.
2023.12.31 14:47:30 3: Setting myHmUART serial parameters to 115200,8,N,1
2023.12.31 14:47:30 1: /dev/ttyAMA10 reappeared (myHmUART)
2023.12.31 14:47:34 1: HMUARTLGW myHmUART did not respond for the 1. time, resending
2023.12.31 14:47:37 1: HMUARTLGW myHmUART did not respond for the 2. time, resending
2023.12.31 14:47:40 1: HMUARTLGW myHmUART did not respond for the 3. time, resending
Ich bin nach https://wiki.fhem.de/wiki/Raspberry_Pi#Verwendung_UART_f%C3%BCr_Zusatzmodule (https://wiki.fhem.de/wiki/Raspberry_Pi#Verwendung_UART_f%C3%BCr_Zusatzmodule) vorgegangen.
Außer das ich nicht ttyAMA0 sehe, sondern ttyAMA10 sehe.
Raspberry5-FHEM:~ $ ls -l /dev/serial*
lrwxrwxrwx 1 root root 8 Dec 31 14:17 /dev/serial0 -> ttyAMA10
lrwxrwxrwx 1 root root 5 Dec 31 14:17 /dev/serial1 -> ttyS0
Raspberry5-FHEM:~ $ ls -l /dev/ttyAMA10
crw-rw---- 1 root dialout 204, 74 Dec 31 14:36 /dev/ttyAMA10
Wo liegt mein Fehler?
Hi,
dann müsstest Du die Befehle ändern, versuch das mal:
systemctl stop serial-getty@ttyAMA10.service
systemctl disable serial-getty@ttyAMA10.service
systemctl mask serial-getty@ttyAMA10.service
Gruß Otto
Alles Gute für 2024 und danke für die Unterstützung.
Ich glaube das schon gemacht zu haben. Zur Sicherheit nochmal.
Raspberry5-FHEM:~ $ systemctl stop serial-getty@ttyAMA10.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to stop 'serial-getty@ttyAMA10.service'.
Authenticating as: ,,, (username)
Password:
==== AUTHENTICATION COMPLETE ====
Raspberry5-FHEM:~ $ systemctl disable serial-getty@ttyAMA10.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ====
Authentication is required to manage system service or unit files.
Authenticating as: ,,, (username)
Password:
==== AUTHENTICATION COMPLETE ====
Unit /etc/systemd/system/serial-getty@ttyAMA10.service is masked, ignoring.
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ====
Authentication is required to reload the systemd state.
Authenticating as: ,,, (username)
Password:
==== AUTHENTICATION COMPLETE ====
Raspberry5-FHEM:~ $ systemctl mask serial-getty@ttyAMA10.service
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ====
Authentication is required to manage system service or unit files.
Authenticating as: ,,, (username)
Password:
==== AUTHENTICATION COMPLETE ====
==== AUTHENTICATING FOR org.freedesktop.systemd1.reload-daemon ====
Authentication is required to reload the systemd state.
Authenticating as: ,,, (username)
Password:
==== AUTHENTICATION COMPLETE ====
Reset und Neustart ohne Erfolg. Das init-disconnect-Spiel geht weiter.
mir scheint Du tust es mit user und nicht mit root Rechten ?
Also sudo vor jeden Befehl oder eine sudo Konsole aufmachen.
Den Erfolg siehst Du mit
systemctl status serial-getty@ttyAMA10.service
der Befehl braucht als einziger kein sudo ;)
Das hatte ich auch probiert, aber nicht dokumentiert. Also nochmal zur Doku mit sudo.
Raspberry5-FHEM:~ $ sudo systemctl stop serial-getty@ttyAMA10.service
Raspberry5-FHEM:~ $ sudo systemctl disable serial-getty@ttyAMA10.service
Unit /etc/systemd/system/serial-getty@ttyAMA10.service is masked, ignoring.
Raspberry5-FHEM:~ $ sudo systemctl mask serial-getty@ttyAMA10.service
Raspberry5-FHEM:~ $ systemctl status serial-getty@ttyAMA10.service
○ serial-getty@ttyAMA10.service
Loaded: masked (Reason: Unit serial-getty@ttyAMA10.service is masked.)
Active: inactive (dead)
Du hast auch initialUsbCheck deaktiviert?
Du hast final den Pi mal vom Strom getrennt und eine Weile vor dem Neustart gewartet?
Zitat von: Otto123 am 01 Januar 2024, 18:17:49Du hast auch initialUsbCheck deaktiviert?
defmod initialUsbCheck notify global:INITIALIZED usb create
attr initialUsbCheck disable 1
ohne das war gar kein Zugriff auf FHEM (noch ohne HM-MOD-RPI-PCB) möglich.
Zitat von: Otto123 am 01 Januar 2024, 18:17:49Du hast final den Pi mal vom Strom getrennt und eine Weile vor dem Neustart gewartet?
Da ich den Hinweis gelesen hatte, ja habe ich. Immer und sogar über Nacht ;-)
Du merkst mir gehen die Ideen aus :)
Ich habe es aber noch nicht am Pi5 probiert
Was Du beschreibst ist mMn typisch, wenn die serielle Schnittstelle zwar da ist, aber nicht exklusiv von FHEM verwendet werden kann.
Es gab da noch so Dinge mit Lüftersteuerung ...
Zitat von: Otto123 am 01 Januar 2024, 18:29:09Du merkst mir gehen die Ideen aus :)
Ich habe es aber noch nicht am Pi5 probiert
Was Du beschreibst ist mMn typisch, wenn die serielle Schnittstelle zwar da ist, aber nicht exklusiv von FHEM verwendet werden kann.
Es gab da noch so Dinge mit Lüftersteuerung ...
Ich merke auch, das es wohl besser gewesen wäre nur einen Pi4 zu kaufen. deconz für Bookworm wird scheinbar auch noch nicht angeboten. :-(
Ich hatte ein wenig auf Deine Kompetenz gehofft und bin Dir auf jeden Falls fürs Versuchen dankbar.
Vielleicht hilft es anderen.
Zitat von: Otto123 am 01 Januar 2024, 18:29:09Du merkst mir gehen die Ideen aus :)
Ich habe es aber noch nicht am Pi5 probiert
Was Du beschreibst ist mMn typisch, wenn die serielle Schnittstelle zwar da ist, aber nicht exklusiv von FHEM verwendet werden kann.
Es gab da noch so Dinge mit Lüftersteuerung ...
Dann suche ich mal nach Lüftersteuerung.
Das Spiel init-disconnect hate ich, so glaube ich auch schon beim Pi3B, aber da hat sich ja auch einiges geändert und das Teil hier ist ja noch nur FHEM.
raspi-config - da gab es beim Pi4 etwas für den Lüfter bzw. Temperatursteuerung über die GPIO Pins.
Stichwort deconz: der greift sich auch gerne alle seriellen Schnittstellen! Schau mal im Wiki nach der deconz Konfiguration... https://wiki.fhem.de/wiki/ConBee#Problembehebung
deconz habe ich nach ersten Versuchen/Lesen beiseite (wäre dann Punkt 2 nach FHEM) gelegt und mit neuem OS für FHEM angefangen. Eventuell nutze ich dafür erstmal den Pi3B weiter (Neuaufgesetzt nur für deconz).
Beim Pi5 gibt es keinen Punkt zur Lüftersteuerung in raspi-config, was sich anhand von Internetsuche bestätigt. Es wird also noch "lustig".
Meine Frau meinte vorhin, kauf Dir doch lieber einen Pi4 und warte bis Spezialisten das gelöst haben. :-(
Ich verwende immer ziemlich stur diese drei Scripts zur Einrichtung eines Raspberry OS Lite
wget https://raw.githubusercontent.com/heinz-otto/raspberry/master/setup{Basic.sh,Uart.sh,Fhem.sh}
Versuch das doch mal :)
Wobei das bei den Scripts mit ttyAMA10 nicht bekannt war ;)
Du meinst das passt zum Raspberry Pi5? Der scheint wohl nur Bookworm zu akzeptieren.
Auch wenn es alle denken: an Bookworm ist mMn erstmal nichts besonderes. Und meine Installationen auf Raspberry 3+ mit Bookworm liefen wie immer. ;)
Ich habe den Raspberry mit einer frischen SD-Karte mit Bookworm gestartet und Deine Skripte ausgeführt.
1. setupBasic
Raspberry5-FHEM:~ $ bash setupBasic.sh
Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:4 http://archive.raspberrypi.com/debian bookworm InRelease [23.6 kB]
Get:5 http://deb.debian.org/debian-security bookworm-security/main arm64 Packages [131 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main armhf Packages [128 kB]
Get:7 http://deb.debian.org/debian-security bookworm-security/main Translation-en [79.8 kB]
Get:8 http://deb.debian.org/debian bookworm-updates/main armhf Packages [12.1 kB]
Get:9 http://deb.debian.org/debian bookworm-updates/main arm64 Packages [12.5 kB]
Get:10 http://deb.debian.org/debian bookworm-updates/main Translation-en [13.8 kB]
Get:11 http://archive.raspberrypi.com/debian bookworm/main armhf Packages [360 kB]
Get:12 http://archive.raspberrypi.com/debian bookworm/main arm64 Packages [351 kB]
Fetched 1,213 kB in 3s (377 kB/s)
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
9 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
curl libcurl3-gnutls libcurl4 openssh-client openssh-server
openssh-sftp-server raspi-config rpi-eeprom ssh
9 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 6,312 kB of archives.
After this operation, 4,262 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian-security bookworm-security/main arm64 openssh -sftp-server arm64 1:9.2p1-2+deb12u2 [60.7 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security/main arm64 openssh -server arm64 1:9.2p1-2+deb12u2 [413 kB]
Get:3 http://archive.raspberrypi.com/debian bookworm/main arm64 raspi-config all 20231216 [30.0 kB]
Get:4 http://deb.debian.org/debian-security bookworm-security/main arm64 openssh -client arm64 1:9.2p1-2+deb12u2 [933 kB]
Get:5 http://archive.raspberrypi.com/debian bookworm/main arm64 rpi-eeprom all 2 0.4-1 [3,667 kB]
Get:6 http://deb.debian.org/debian-security bookworm-security/main arm64 curl ar m64 7.88.1-10+deb12u5 [308 kB]
Get:7 http://deb.debian.org/debian-security bookworm-security/main arm64 libcurl 4 arm64 7.88.1-10+deb12u5 [366 kB]
Get:8 http://deb.debian.org/debian-security bookworm-security/main arm64 libcurl 3-gnutls arm64 7.88.1-10+deb12u5 [360 kB]
Get:9 http://deb.debian.org/debian-security bookworm-security/main arm64 ssh all 1:9.2p1-2+deb12u2 [174 kB]
Fetched 6,312 kB in 1s (8,228 kB/s)
apt-listchanges: Reading changelogs...
Preconfiguring packages ...
(Reading database ... 54974 files and directories currently installed.)
Preparing to unpack .../0-openssh-sftp-server_1%3a9.2p1-2+deb12u2_arm64.deb ...
Unpacking openssh-sftp-server (1:9.2p1-2+deb12u2) over (1:9.2p1-2+deb12u1) ...
Preparing to unpack .../1-openssh-server_1%3a9.2p1-2+deb12u2_arm64.deb ...
Unpacking openssh-server (1:9.2p1-2+deb12u2) over (1:9.2p1-2+deb12u1) ...
Preparing to unpack .../2-openssh-client_1%3a9.2p1-2+deb12u2_arm64.deb ...
Unpacking openssh-client (1:9.2p1-2+deb12u2) over (1:9.2p1-2+deb12u1) ...
Preparing to unpack .../3-curl_7.88.1-10+deb12u5_arm64.deb ...
Unpacking curl (7.88.1-10+deb12u5) over (7.88.1-10+deb12u4) ...
Preparing to unpack .../4-libcurl4_7.88.1-10+deb12u5_arm64.deb ...
Unpacking libcurl4:arm64 (7.88.1-10+deb12u5) over (7.88.1-10+deb12u4) ...
Preparing to unpack .../5-libcurl3-gnutls_7.88.1-10+deb12u5_arm64.deb ...
Unpacking libcurl3-gnutls:arm64 (7.88.1-10+deb12u5) over (7.88.1-10+deb12u4) ...
Preparing to unpack .../6-raspi-config_20231216_all.deb ...
Unpacking raspi-config (20231216) over (20231108) ...
Preparing to unpack .../7-rpi-eeprom_20.4-1_all.deb ...
Unpacking rpi-eeprom (20.4-1) over (20.2-1) ...
Preparing to unpack .../8-ssh_1%3a9.2p1-2+deb12u2_all.deb ...
Unpacking ssh (1:9.2p1-2+deb12u2) over (1:9.2p1-2+deb12u1) ...
Setting up openssh-client (1:9.2p1-2+deb12u2) ...
Setting up libcurl3-gnutls:arm64 (7.88.1-10+deb12u5) ...
Setting up libcurl4:arm64 (7.88.1-10+deb12u5) ...
Setting up rpi-eeprom (20.4-1) ...
Setting up curl (7.88.1-10+deb12u5) ...
Setting up raspi-config (20231216) ...
Setting up openssh-sftp-server (1:9.2p1-2+deb12u2) ...
Setting up openssh-server (1:9.2p1-2+deb12u2) ...
rescue-ssh.target is a disabled or a static unit not running, not starting it.
ssh.socket is a disabled or a static unit not running, not starting it.
Setting up ssh (1:9.2p1-2+deb12u2) ...
Processing triggers for man-db (2.11.2-2) ...
Processing triggers for libc-bin (2.36-9+rpt2+deb12u3) ...
Generating locales (this might take a while)...
de_DE.UTF-8... done
en_GB.UTF-8... done
en_US.UTF-8... done
Generation complete.
Failed to set keymap: Keymap de is not installed.
Hostname Raspberry5-FHEM ändern? Bitte den neuen Hostnamen eingeben, oder einfach enter:
Ein reboot ist empfohlen!
2. setupFHEM
Das meldet Probleme, so das ich es mit Sudo noch einmal gestartet habe.
FHEM war danach da.
3. setupUart
Danach war es so:Raspberry5-FHEM:~ $ ls -l /dev/serial*
lrwxrwxrwx 1 root root 8 2. Jan 09:27 /dev/serial0 -> ttyAMA10
serial1 -> ttyS0 war also nicht mehr da.
HM-MOD-RPI-PCB aufgesteckt und neu gestartet -> init-disconnect :'(
Eine Möglichkeit die Lüftersteuerung zu beeinflussen habe ich nicht gefunden.
Ja beim fhem script habe ich den auto restart mit sudo noch nicht drin ;)
Zitat von: rabehd am 02 Januar 2024, 09:40:53serial1 -> ttyS0 war also nicht mehr da.
Das hatte mich an deinem Post oben gewundert, das ist nämlich bei bookworm mW so. Die BT Schnittstelle wird nicht mehr gezeigt.
Was zeigt jetzt:
systemctl list-units serial-getty@ttyAMA*.service --all
Ich habe meine aktive Himbeerphase bei 3+ beendet, habe mal noch einen Pi4 für einen Kumpel installiert, aber eigentlich kein Lust auf Pi5. Ich bin mir auch nicht sicher, ob die Funkmodule unmittelbar auf der GPIO noch so gut laufen, bei dem ganzen Funkfeuer von der Platine ringsherum. Ich setze jetzt eher auf kleine lüfterlose MiniPC mit Intel Celeron und Anschluss der HMUART per USB Adapter ein paar cm weg vom Gerät. Da hat man gegenüber dem Pi auch nicht den "Stress" mit Gehäuse und Netzteil. ;)
systemctl list-units serial-getty@ttyAMA*.service --all
UNIT LOAD ACTIVE SUB DESCRIPTION
● serial-getty@ttyAMA10.service masked inactive dead serial-getty@ttyAMA10.service
LOAD = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB = The low-level unit activation state, values depend on unit type.
1 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
Was kann man da raus lesen?
ich wollte nur wissen ob der serial-getty Dienst deaktiviert ist und ob es da ev. noch andere gibt.
Hmm da bin ich jetzt etwas ratlos.
Als Workaround erstmal 2 Ideen:
- "Eventuell nutze ich dafür erstmal den Pi3B weiter.." warum nicht auch für HMUART als abgesetztes Gateway?
- hast Du einen USB serial Adapter rumliegen? Mit 4 Dupontkabeln hast Du damit in nullkommanix den HMUART am USB in Betrieb.
Edit: was ich hier aber über UART lese https://www.raspberrypi.com/documentation/computers/raspberry-pi-5.html
ZitatUnlike previous Raspberry Pi models, where you could enable a serial console on GPIO14 and 15, enabling a serial console from raspi-config will enable a serial console on the new UART connector on /dev/ttyAMA0 on Raspberry Pi 5.
https://www.raspberrypi.com/documentation/computers/configuration.html#primary-uart
ZitatPrimary UART
On the Raspberry Pi, one UART is selected to be present on GPIO 14 (transmit) and 15 (receive) - this is the primary UART. By default, this will also be the UART on which a Linux console may be present. Note that GPIO 14 is pin 8 on the GPIO header, while GPIO 15 is pin 10.
On the Raspberry Pi 5, the primary UART appears on the Debug header.
Da muss man
vielleicht völlig anders vorgehen?
Hier steht prinzipiell wie es gehen könnte: https://github.com/raspberrypi/firmware/blob/master/boot/overlays/README
Was das in der praktischen Umsetzung bedeutet, kann ich nicht sagen. Eventuell so vorgehen wie hier
https://raspberrypi.stackexchange.com/questions/127265/multiple-uarts-on-the-40-pin
Den ganzen Aufwand mit serial-getty deaktivieren und UARTs tauschen braucht man dann offenbar nicht mehr.
Zitat von: Otto123 am 02 Januar 2024, 11:13:01Als Workaround erstmal 2 Ideen:
- "Eventuell nutze ich dafür erstmal den Pi3B weiter.." warum nicht auch für HMUART als abgesetztes Gateway?
- hast Du einen USB serial Adapter rumliegen? Mit 4 Dupontkabeln hast Du damit in nullkommanix den HMUART am USB in Betrieb.
Möglichkeit 1 wäre nur eine Notlösung. Ich möcht mehrere Geräte nicht langfristig dafür betreiben. Das ganze System hat jetzt eine Hue, eine Blink und einen Raspberry. Ich wollte den Raspberry ersetzen und nicht ergänzen. deconz auf den alten Raspberry sehe ich nur als Zwischenlösung.
Mit Möglichkeit 2 muss ich mich beschäftigen. Ein Testaufbau wäre möglich, die Einbindung habe ich noch nicht recherchiert.
Für das Probieren der anderen Hinweise ist mein Wissen und mein Englisch nicht gut genug. Wild Befehle einzutippen und zu hoffen ist kein Lösungsweg. In den nächsten Wochen wird das Problem sicher auch bei anderen Auftauchen.
Möglichkeit 3 wäre die Ablösung von Homematic. Nach dem Umzug fielen die Thermostate weg. Die Taster fürs Treppenlicht verweigern teilweise ein Werksreset für eine neue Verwendung. In Nutzung sind nur noch Fenstersensoren und Dimmer fürs Aquarium. Aber für die HM-LC-DIM1PWM-CV habe ich noch keine gleichwertige Alternative gefunden.
ZitatDie Taster fürs Treppenlicht verweigern teilweise ein Werksreset
klingt nach zugewiesenen aes keys.
die müssen dann von fhem resettet werden.
Zitat von: frank am 02 Januar 2024, 13:35:44ZitatDie Taster fürs Treppenlicht verweigern teilweise ein Werksreset
klingt nach zugewiesenen aes keys.
die müssen dann von fhem resettet werden.
Hatte ich auch schon gelesen, aber ich kann mich nicht erinnern AES verwendet zu haben. Ich sehe die Device auch noch, nur wird jeder Reset-Befehl (auch per fhem) verweigert. Aber nur bei der Hälfte der Teile.
Zitat von: rabehd am 02 Januar 2024, 13:18:03Mit Möglichkeit 2 muss ich mich beschäftigen. Ein Testaufbau wäre möglich, die Einbindung habe ich noch nicht recherchiert.
Steht im Wiki https://wiki.fhem.de/wiki/HM-MOD-RPI-PCB_HomeMatic_Funkmodul_f%C3%BCr_Raspberry_Pi#Anbindung_mit_USB-Adapter
Von der Sache her geht jeder USB serial Adapter der auch 3,3 Volt Schnittstellensignale verwendet, ansonsten braucht es 4 Kabel.
In der FHEM Definition ändert sich nur der Schnittstellenname.
Mit der Raspberry 5 Einbindung kann ich mir auch was "ausdenken", was Du dann testest. Es klingt überschaubar :)
Also der Testaufbau am Pi5 sieht gut aus.
Gleich der erste Versuch mit defmod myHmUART HMUARTLGW /dev/ttyUSB0
bringt das OK und setzt die Readings.
ich hatte mir da mal auf die Schnelle aus einem USB Adapter / Stecker und ein paar gewinkelten Stiftleisten, etwas Heißkleber und Schrumpfschlauch eine Art Adapter gebaut.
Damit bleibt das HM-MOD-RPI-PCB variabel einsetzbar ;)
Provisorien halten bekanntlich ewig
Versuch doch mal bitte folgendes....
Öffne raspi-config und aktiviere dort die serielle Schnittstelle.
Dann sollte auch /dev/ttyAMA0 auftauchen nach einem Reboot.
Hatte das gleiche Problem und konnte es so mit einem RPI5 lösen.
So ganz habe ich noch nicht verstanden, was hier das eigentliche Problem ist.
Für den pi5 gibt es doch vorkonfigurierte dtoverlays für alle auf dem Board vorhandenen uarts, die man nur in der config.txt eintragen muss.
Zitat von: Wassilis am 05 Januar 2024, 22:56:38Versuch doch mal bitte folgendes....
Öffne raspi-config und aktiviere dort die serielle Schnittstelle.
Dann sollte auch /dev/ttyAMA0 auftauchen nach einem Reboot.
Hatte das gleiche Problem und konnte es so mit einem RPI5 lösen.
Komisch, ich bin sicher das nach der Anleitung probiert zu haben und keinen Erfolg gehabt zu haben.
Jetzt passt es plötzlich.
Raspberry5-FHEM:~ $ ls -l /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 64 Jan 6 16:46 /dev/ttyAMA0
:o
Ich verstehe es nicht.
Einen Monat gin es mit /dev/ttyAMA0. Gestern habe ich mit Containern in Docker gespielt und bemerkte am Abend kein Connect von HM-MOD-RPI-PCB. Ich sehe da keinen Zusammenhang.
Als Zwischenlösung habe ich wieder den USB-Adapter gebastelt und so läuft es erstmal.
Also geht die Suche (in den nächsten Tagen) wieder los.