alexreinert / piVCCU

piVCCU is a project to install the original Homematic CCU3 firmware inside a virtualized container (lxc) on ARM based single board computers.
Apache License 2.0
306 stars 65 forks source link

piVCCU3 State: STOPPED #380

Closed Julez318 closed 3 years ago

Julez318 commented 3 years ago

Hallo, nach dem Update gestern meines Systems, funktioniert piVCCU3 leider nicht mehr. Ich habe einen RPI 4. Parallel zu piVCCU3 läuft noch Home Assistant Supervised (Hier funktioniert noch alles)

Bei "sudo pivccu-info" bekomme ich folgendes: piVCCU version: 3.57.4-56 Kernel modules: Available Raw UART dev: Available Rasp.Pi UART: Assigned to GPIO pins HMRF Hardware: RPI-RF-MOD Connected via: GPIO (/dev/raw-uart) Board serial: 5A4993FCDD Radio MAC: 0xFFFCDD HMIP Hardware: RPI-RF-MOD SGTIN: 3014F711A0001F5A4993FCDD Radio MAC: 0xBD79AC State: STOPPED

Und "sudo systemctl start pivccu": Job for pivccu.service failed because the service did not take the steps required by its unit configuration. See "systemctl status pivccu.service" and "journalctl -xe" for details.

"systemctl status pivccu.service" spuckt mir folgendes aus: _● pivccu.service - piVCCU Loaded: loaded (/lib/systemd/system/pivccu.service; enabled; vendor preset: enabled) Active: failed (Result: protocol) since Wed 2021-04-07 08:22:41 CEST; 17min ago Process: 4440 ExecStart=/var/lib/piVCCU3/start_container.sh (code=exited, status=0/SUCCESS)

Apr 07 08:22:37 raspberrypi systemd[1]: Starting piVCCU... Apr 07 08:22:41 raspberrypi start_container.sh[4440]: kernel.sched_rt_runtime_us = -1 Apr 07 08:22:41 raspberrypi start_container.sh[4440]: lxc-start: lxc: lxccontainer.c: wait_on_daemonized_start: 842 Received contain Apr 07 08:22:41 raspberrypi start_container.sh[4440]: lxc-start: lxc: tools/lxc_start.c: main: 330 The container failed to start Apr 07 08:22:41 raspberrypi start_container.sh[4440]: lxc-start: lxc: tools/lxc_start.c: main: 333 To get more details, run the cont Apr 07 08:22:41 raspberrypi start_container.sh[4440]: lxc-start: lxc: tools/lxcstart.c: main: 336 Additional information can be obt Apr 07 08:22:41 raspberrypi systemd[1]: pivccu.service: Can't open PID file /run/pivccu3.pid (yet?) after start: No such file or dir Apr 07 08:22:41 raspberrypi systemd[1]: pivccu.service: Failed with result 'protocol'. Apr 07 08:22:41 raspberrypi systemd[1]: Failed to start piVCCU.

"journalctl -xe": _-- Subject: Unit succeeded -- Defined-By: systemd -- Support: https://www.debian.org/support

-- The unit systemd-tmpfiles-clean.service has successfully entered the 'dead' state. Apr 07 08:35:33 raspberrypi systemd[1]: Started Cleanup of Temporary Directories. -- Subject: A start job for unit systemd-tmpfiles-clean.service has finished successfully -- Defined-By: systemd -- Support: https://www.debian.org/support

-- A start job for unit systemd-tmpfiles-clean.service has finished successfully.

-- The job identifier is 832. Apr 07 08:35:38 raspberrypi 05ae38742e4b[626]: Apr 07 08:36:38 raspberrypi NetworkManager[435]: [1617777398.7792] device (wlan0): set-hw-addr: set MAC address to 0E:19:85: Apr 07 08:36:38 raspberrypi kernel: brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled Apr 07 08:36:38 raspberrypi NetworkManager[435]: [1617777398.7861] device (wlan0): supplicant interface state: inactive -> d Apr 07 08:36:38 raspberrypi NetworkManager[435]: [1617777398.7868] device (wlan0): supplicant interface state: disabled -> i Apr 07 08:36:38 raspberrypi wpa_supplicant[361]: wlan0: Reject scan trigger since one is already pending Apr 07 08:39:25 raspberrypi sudo[4742]: pi : TTY=pts/0 ; PWD=/home/pi ; USER=root ; COMMAND=/usr/bin/systemctl status pivccu.s Apr 07 08:39:25 raspberrypi sudo[4742]: pam_unix(sudo:session): session opened for user root by pi(uid=0) Apr 07 08:39:34 raspberrypi sudo[4742]: pamunix(sudo:session): session closed for user root Apr 07 08:40:38 raspberrypi 05ae38742e4b[626]:

Kann mir hierbei jemand bitte helfen?

alexreinert commented 3 years ago

Welches OS nutzt du? Raspbian? 32 Bit oder 64 Bit? Welchen Kernel (uname -a)?

Julez318 commented 3 years ago

Wow, danke für die schnelle Rückmeldung! Es ist Raspbian Buster installiert. 32 Bit. uname -a: Linux raspberrypi 5.10.17-v7l+ #1403 SMP Mon Feb 22 11:33:35 GMT 2021 armv7l GNU/Linux

alexreinert commented 3 years ago

Wie ist das Netzwerksetup? Wie sieht die /etc/network/interfaces aus?

Julez318 commented 3 years ago

Der Pi hängt am Ethernet. Das ist der Inhalt: auto lo iface lo inet loopback post-up iptables -F FORWARD && iptables -P FORWARD ACCEPT

alexreinert commented 3 years ago

Da hat scheinbar das Update irgendeiner anderen Komponente die /etc/network/interface komplett überschrieben. Nach einem Backup bitte Schritt 8 der Installationanleitung nochmal durchführen und danach neu starten.

Julez318 commented 3 years ago

Wie kann ich das Backup machen? Gibt es hierzu auch eine Anleitung?

alexreinert commented 3 years ago

Ich meinte ein Backup der gesamten SD Karte mit beliebigen Image Programm z.B. Etcher.

Julez318 commented 3 years ago

Achso, dachte von der CCU. Danke, funktioniert wieder alles wie vorher. Klasse Service :) Nur leider habe ich noch das Problem, dass Home Assistant nicht mit pivccu3 kommuniziert. Kannst du hierbei auch helfen?

alexreinert commented 3 years ago

Leider nicht wirklich, weil ich Home Assistant abgesehen vom Namen nicht kenne. Im Zweifel würde ich aber mal auf die Firewall der CCU oder eine aktivierte Authentifizierung für die RPC Schnittstellen der CCU tippen.

Julez318 commented 3 years ago

Okay danke trotzdem. Was ich bisher gelesen habe muss es wohl damit zusammen hängen, dass Home Assitant im Docker Container läuft.

protvis74 commented 3 years ago

Mein System:

(Raspberry Pi3, piVCCU(3), Home-Assistant supervised [Docker Container], Node-RED)

Probiere es mal mit folgender Konfiguration:

/usr/share/hassio/homeassistant/configuration.yaml

homematic:
  interfaces:
    Funk:
      host: 192.168.0.xx  -> ip piVCCU Container
      port: 2001
      resolvenames: json
      username: Admin
      password: ccu3pw
    HMIP:
      host: 192.168.0.xx -> ip piVCCU Container
      port: 2001
      resolvenames: json
      username: Admin
      password: ccu3pw
    groups:
      host: 192.168.0.xx -> ip piVCCU Container
      port: 9292
      resolvenames: json
      username: Admin
      password: ccu3pw
      path: /groups
  hosts:
    ccu3:
      host: 192.168.0.xx -> ip piVCCU Container
      username: Admin
      password: ccu3pw

/etc/network/interfaces

source /etc/network/interfaces.d/*
#source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

iface eth0 inet manual

auto br0
iface br0 inet dhcp
  bridge_ports eth0

Ergänzung 10.04.21: Netzwerkkonfiguration hinzugefügt

piCCU WebUI - Einstellungen: -> Systemsteuerung -> Firewall konfigurieren

Homematic XML-RPC API eingeschränkt

Die Ports 2001;2010;9292 eintragen

// Port 2001 Homeatic bidcos (Funk) // Port 2010 HomematicIP // Port 9292 Homematic Gruppen

ccu3_firewall

Docker legt ein paar Firewall Regeln an welche die Kommunikation mit der piVCCU blockieren.

Es müssen folgende Iptable Regeln hinzugefügt werden, damit der Netzwerkverkehr mit der piVCCU wieder funktioniert:

sudo iptables -I DOCKER-USER -i br0 -j ACCEPT sudo iptables -I DOCKER-USER -o br0 -j ACCEPT sudo iptables -I DOCKER-USER -i vethpivccu -j ACCEPT sudo iptables -I DOCKER-USER -o vethpivccu -j ACCEPT

Diese Regeln müssen bei jedem Neustart des Pi wieder erneut hinzugefügt werden, damit die Kommunikation mit der piVCCU funktioniert. (Eine dauerhafte Lösung, damit die Einträge erhalten bleiben, ist noch in Arbeit.)

pi@raspberrypi:~ $ sudo pivccu-info

piVCCU version: 3.57.4-56
Kernel modules: Available
Raw UART dev:   Available
Rasp.Pi UART:   Assigned to GPIO pins
HMRF Hardware:  HM-MOD-RPI-PCB
 Connected via: GPIO (/dev/raw-uart)
 Board serial:  OEQ0001234
 Radio MAC:     0x12AA0B
HMIP Hardware:  HM-MOD-RPI-PCB
 SGTIN:         30XXXXXXXXXXXXXXXXXXXXXX
 Radio MAC:     0xBCD1A0
State:          RUNNING
PID:            1036
IP:             192.168.0.xx -> IP CCU
CPU use:        23.29 seconds
Link:           vethpivccu
 TX bytes:      34.83 KiB
 RX bytes:      142.99 KiB
 Total bytes:   177.82 KiB

Jetzt sollten die Daten der Homematic Komponenten in Home-Assistant erscheinen.

Home-Assistant -> Entwicklerwerkzeuge -> Zustände

Dort sollten jetzt die Entitäten aufgelistet werden. (Ggfs. sind noch die Namen der Homematic Geräte / Entitäten mit der Bezeichnung in der CCU Web-UI anzupassen.)

Julez318 commented 3 years ago

Danke für die ausführliche Beschreibung, habe deine Schritte alle durchgeführt. Leider aber immer noch ohne Erfolg, in Home Assistant bekomme ich noch immer die gleiche Fehlermeldung:

image
protvis74 commented 3 years ago

Ok. Lass uns mal den Fehler genauer untersuchen. Dazu benötige ich aber noch ein paar Infos.

Component error: HomeMatic - Integration 'HomeMatic' not found.

In der Konfigurationsdatei muss zur Integration "Homematic" klein geschrieben werden.

homematic:
  interfaces:
    Funk:
      host: 192.168.0.xx  -> ip piVCCU Container

Zeige mal bitte Deine HA Konfigurationsdatei /usr/share/hassio/homeassistant/configuration.yaml.

Wie sieht Deine Netzwerkkonfiguration aus?

ip a s(ip address show)

Status piVCCU

sudo pivccu-info

Log-Datei der piVCCU/CCU

sudo pivccu-attach cat /var/log/messages

Log-Datei vom Home-Assistant

/usr/share/hassio/homeassistant/homeassistant.log

Wenn Du es in Echtzeit überwachen möchten, während das System läuft:

docker logs -f --tail 0 <nameofhomeassistantdockercontainer>

(Den Namen des Dockercontainers kannst Du mit "docker ps" herausfinden -> vermutlich heisst er aber homeassistant )

Julez318 commented 3 years ago

Während ich dir die Daten schicken wollte ist mir in der configuration.yaml noch aufgefallen, dass ich den Punkt Interfaces nicht klein geschrieben habe sondern groß... Daher kam der Fehler, jetzt sind die Geräte da. Vielen Dank für die super Hilfe und Unterstützung. :) Kannst du mir vielleicht nochmal bescheid geben wenn du eine dauerhafte Lösung gefunden hast die auch nach dem Neustart funktioniert?

protvis74 commented 3 years ago

Freut mich, dass ich weiterhelfen konnte und es jetzt funktioniert. Bei Fragen einfach melden.

stale[bot] commented 3 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.