Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

OCCU für Betriebssysteme basierend auf Debian

Moderator: Co-Administratoren

chka
Beiträge: 2482
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 300 Mal
Danksagung erhalten: 116 Mal

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von chka » 21.12.2018, 22:08

Danke für das Installation script ich mache mich mal wieder an eine ESX Installation.

habe aber nach dem reboot das Problem das kurz die Anzeige kommt das die CCU startet danach bekomme ich nur noch eine weiße Seite angezeigt mehr aber auch nicht.
Die Installation ist nackt, kein Backup oder sonstiges ist eingespielt

cixd ist unter /addons/cuxd/index.ccc?m=0 erreichbar

edit: Weiterleitung auf /pages/index.htm geht nicht!

die Oberfläche ist das Danke
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

quickmic
Beiträge: 518
Registriert: 20.01.2011, 14:39
Hat sich bedankt: 5 Mal
Danksagung erhalten: 4 Mal

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von quickmic » 22.12.2018, 07:48

Das hat vermutlich mit der neuesten ReGaHss-Beta Version zu tun. Die scheint einen Bug zu haben.

Aendere das Startscript... /opt/start.sh
Suche die Zeile:
/bin/ReGaHss -f /etc/config/rega.conf -l 2 &
und aendern auf:
/bin/ReGaHss.community -f /etc/config/rega.conf -l 2 &

Oder versuch den Ansatz:
viewtopic.php?f=56&t=47718

ant
Beiträge: 67
Registriert: 27.11.2018, 20:58

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von ant » 25.12.2018, 10:51

Hallo quickmic,

gibt es einen speziellen Grund, warum du remserial verwendest? Es graust mir schon etwas, wenn über eine http (nicht https) verbindung dateien heruntergeladen, dann kompiliert und als root ausgeführt werden.
ser2net hat die gleiche Funktionalität und ist im debian repo.
weiterhin unterstützt ser2net hosts_access Dateien d.h., man kann einschränken, welche hosts auf den serial port zugreifen können. derzeit kann einfach jeder im netzwerk auf den serial port zugreifen.

davon abgesehen wäre es grundsätzlich sowieso sinnvoll, remserial/ser2net mit einem normalen (service-)user anstatt root auszuführen.

ant
Beiträge: 67
Registriert: 27.11.2018, 20:58

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von ant » 25.12.2018, 14:00

Alternativ könnte man auch socat verwenden. Dies unterstützt, den Datenverkehr mit openssl zu verschlüsseln.

quickmic
Beiträge: 518
Registriert: 20.01.2011, 14:39
Hat sich bedankt: 5 Mal
Danksagung erhalten: 4 Mal

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von quickmic » 25.12.2018, 16:25

remserial verwende ich im Moment nur deshalb, weil ichs dort am Schnellsten hinbekommen habe.
ser2net hatte ich versucht aber lief nicht auf Anhieb. Vermutlich hatte ich Parameter falsch gesetzt.
Ich vermute aber, das nichts dagegen spricht zu wechseln. Hast du ser2net ans Laufen gebracht? Wenn ja, baue ich sofort um falls du mir die Kommandos posten kannst.

Ps:
Zumindest in der neuen Anleitung wird das Runterladen und selber Kompilieren weg fallen.
Aber die ist noch nicht vor Produktiveinsatz gedacht. Ich bau da noch zu viel Grundlegendes um.

ant
Beiträge: 67
Registriert: 27.11.2018, 20:58

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von ant » 25.12.2018, 23:09

Hey,
ich habe heute den ganzen Tag mit socat's openssl Funktionalität gebastelt. Inzwischen läuft es perfekt.
Das ist für mich die beste Lösung, da der Traffic verschlüsselt ist und die clients sich gegenseitig authentifizieren.

/etc/systemd/system/socat-homematic.service: (auf occu)

Code: Alles auswählen

[Unit]
Description=Socat remote hm/hmip tty
After=network.target

[Service]
Type=simple

# apparantly NEEDS to be /dev/ttyS[0-9]+ format. using /dev/ttyS-pi or similar leads
# to hm-copro.jar crashing
# commonname= is required, because (server-)cert has an empty commonname field and peer verification therefore fails using the remote hostname.
# peer authentication is already achieved through the cafile.
ExecStart=/usr/bin/socat -d -d pty,link=/dev/ttyS1000,raw openssl-connect:%i:2000,cert=/etc/ssl/homematic-socat/client.crt,key=/etc/ssl/homematic-socat/client.key,cafile=/etc/ssl/homematic-socat/%i.crt,forever,commonname=

Restart=always
RestartSec=1s

[Install]
WantedBy=multi-user.target
/etc/systemd/system/socat-homematic.service: (auf dem pi)

Code: Alles auswählen

[Unit]
Description=Socat remote hm/hmip tty
After=network.target

[Service]
Type=simple

ExecStart=/usr/bin/socat -d -d /dev/ttyUSB0,b115200,raw,echo=0 openssl-listen:2000,cert=/etc/ssl/homematic-socat/server.crt,key=/etc/ssl/homematic-socat/server.key,cafile=/etc/ssl/homematic-socat/client.crt,reuseaddr

Restart=always
RestartSec=1s

[Install]
WantedBy=multi-user.target
Zertifikate und keys auf dem PI erstellen:

Code: Alles auswählen

mkdir /etc/ssl/homematic-socat/
openssl genrsa -out /etc/ssl/homematic-socat/server.key 4096
openssl req -new -key /etc/ssl/homematic-socat/server.key -x509 -days 3653 -out /etc/ssl/homematic-socat/server.crt
scp /etc/ssl/homematic-socat/server.crt root@pi:/etc/ssl/homematic-socat/pi.crt
Zertifikate und keys auf occu:

Code: Alles auswählen

mkdir /etc/ssl/homematic-socat/
openssl genrsa -out /etc/ssl/homematic-socat/client.key 4096
openssl req -new -key /etc/ssl/homematic-socat/client.key -x509 -days 3653 -out /etc/ssl/homematic-socat/client.crt
scp /etc/ssl/homematic-socat/client.crt root@pi:/etc/ssl/homematic-socat/client.crt
Aktivieren auf pi: systemctl start socat-homematic

Aktivieren auf occu: systemctl start socat-homematic@pi
Zuletzt geändert von ant am 26.12.2018, 12:38, insgesamt 1-mal geändert.

quickmic
Beiträge: 518
Registriert: 20.01.2011, 14:39
Hat sich bedankt: 5 Mal
Danksagung erhalten: 4 Mal

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von quickmic » 26.12.2018, 08:58

Code: Alles auswählen

ich habe heute den ganzen Tag mit socat's openssl Funktionalität gebastelt.
Hat sich ausgezahlt, echt cool vielen Dank. :D Das schaut bereits nach ein Komplettlösung aus inkl. ssl Key Generierung usw.
Ich teste das asap und bau das dann gleich mit ein.

quickmic
Beiträge: 518
Registriert: 20.01.2011, 14:39
Hat sich bedankt: 5 Mal
Danksagung erhalten: 4 Mal

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von quickmic » 27.12.2018, 18:07

Ich versuch grade deine Loesung einzubauen.
Erster Step ist die Key Generierung und dann certificate-exchange bevor ich mit socat weitermache.
Im Moment grüble ich grade, wie das benutzerfreundlich ins Install-script einzubauen ist.
Erstens bei Key/Certificate-Generieung hab ich auf...

Code: Alles auswählen

openssl req -new -key /etc/ssl/homematic-socat/client.key -x509 -days 100000 -subj /C=EN -out /etc/ssl/homematic-socat/client.crt
...umgebaut. Das unterdrueckt die Abfragen des Countrycodes etc.
Beim Keyaustausch via scp wird was schon schwerer.
Ich will den Benutzern nicht zuviel zumuten, daher muss das vollautomatisch laufen.

Problem im Moment ist noch, dass vor dem Austausch beide Devices online sein muessen.
Ziel ist z.b. Raspi down, CCU installation. scp push klappt also noch nicht.
Dann Raspi-Install, Host waere schon Up.
Ich koennte also beim Raspi-Install das Password vom Host als Eingabe abfragen, kein Problem.
Aber egal wie ich das drehe, eines der Gerate wir beim der ersten Install offline sein.

Irgendeine Idee? Password will ich nicht speichern anfangen, um z.b. bei jedem Boot das certificate rauszupushen.



EDIT:
Loesung:
Raspi Installieren mit:

Code: Alles auswählen

openssl genrsa -out /etc/ssl/homematic-socat/server.key 4096
openssl req -new -key /etc/ssl/homematic-socat/server.key -x509 -days 100000 -subj /C=EN -out /etc/ssl/homematic-socat/server.crt
CCU Installieren mit:

Code: Alles auswählen

openssl genrsa -out /etc/ssl/homematic-socat/client.key 4096
openssl req -new -key /etc/ssl/homematic-socat/client.key -x509 -days 100000 -subj /C=EN -out /etc/ssl/homematic-socat/client.crt
scp /etc/ssl/homematic-socat/client.crt root@192.168.0.107:/etc/ssl/homematic-socat/client.crt
scp root@192.168.0.107:/etc/ssl/homematic-socat/server.crt  /etc/ssl/homematic-socat/server.crt
Raspi muss zuerst laufen... Oder halt genau umgekehrt.

ant
Beiträge: 67
Registriert: 27.11.2018, 20:58

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von ant » 03.01.2019, 15:49

Ich hab das genauso gelöst wie du. Ich habe es genau andersherum gelöst. Ich gehe davon aus, dass die OCCU immer zuerst eingerichtet wird und danach der raspi. Macht ja auch Sinn.

quickmic
Beiträge: 518
Registriert: 20.01.2011, 14:39
Hat sich bedankt: 5 Mal
Danksagung erhalten: 4 Mal

Re: Anleitung zur Installation der CCU auf einem x86 system (Part 2 inkl. HMIP)

Beitrag von quickmic » 03.01.2019, 16:00

Ja hast du Recht, werde ich wahrscheinlich auch umbauen.
Ausserdem werde ich die config (IP) vom Raspi auf die CCU pushen und nicht auf der CCU bei der Installation reinkonfigurieren per Abfrage.
Im Moment schaut das Startscript der CCU nach, ob das File "/var/status/HMIPremserialhost" vorhanden ist.
Wenn ja, ließt das Startscript aus der Datei die IP des Raspi-Hosts.
Waere auch sinnvoller, dass bei Raspi-Installation die /var/status/HMIPremserialhost gleich in die CCU reinkopiert wird.

Ps;
Der name HMIPremserialhost ist auch eine Altlast :wink:

Antworten

Zurück zu „x86-CCU“