Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Homematic-, TCL- und Shell-Script, Toolchain, C, etc.

Moderator: Co-Administratoren

Antworten
Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Mathias » 26.09.2023, 23:12

Hallo zusammen,

in einer Diskussion des Projekts RaspberryMatic auf GitHub hat sich eine interessante Idee entwickelt:

Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU zur Verfügung stellen. Sie können dann wie reale Geräte auf der zweiten CCU bedient und beobachtet und sogar in Programmen verwendet werden, obwohl sie an einer anderen CCU angelernt sind. Technisch werden die virtuellen Geräte über einen neuen Schnittstellenprozess (wie beim CCU-Jack oder CUxD) an die ReGaHss angebunden.

Mit dem CCU-Jack kann diese Funktionalität rudimentär erbracht werden. Allerdings besitzt der CCU-Jack nicht für jedes reale Gerät eine exakte virtuelle Abbildung. Die virtuelle Nachbildung der realen Geräte ist sehr aufwändig.

Mir ist daher die Idee gekommen, dass der Weg über virtuelle Geräte eigentlich nicht nötig ist. Von den virtuellen Geräten geht man eine Ebene tiefer zum Schnittstellenprozess bzw. der XML-RPC-API. Es sollte möglich sein alle API-Aufrufe von einer CCU zu einer zweiten zu tunneln. Sicherlich müssten einige Funktionsparameter (z.B. für init) vor dem Tunneln manipuliert werden.

Noch ein paar weitere Gedanken:
  • Gibt es Komplikationen, wenn sich zwei ReGaHss an einen Schnittstellenprozess hängen? Bestimmte API-Funktionen sollten besser nicht weitergeleitet werden (z.B. Gerät ablernen).
  • Wieviele Multi-CCU-Anwender gibt es überhaupt? Ich kenne beispielsweise einige mit Zweit-CCUs in Ferienhäusern.
  • Auch wenn jeder nur eine CCU besitzt, Freunde können sich Geräte teilen: z.B. eine Wetterstation.
Dann schauen wir mal, ob es noch weitere Gedanken gibt.

Viele Grüße
Mathias

Benutzeravatar
Black
Beiträge: 5483
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 424 Mal
Danksagung erhalten: 1074 Mal
Kontaktdaten:

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Black » 27.09.2023, 12:37

Ein paar Dinge musst du natürlich schon weiterleiten.

Wenn auf ccu A ein Gerät gelöscht wird muss dieses auch an die Rega der CCU B geleitet werden. Wobei das Initiierende löschen nur vom Originalen Xmlrpc kommen dürfte, nicht vom angehängten virtuellen Prozess.

Black
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg

Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann

Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W

technical contribution against annoying advertising

Benutzeravatar
Baxxy
Beiträge: 10847
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2229 Mal

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Baxxy » 27.09.2023, 15:02

Ich weiß nicht so recht, mir fällt kein Szenario ein in dem man eine komplette Spiegelung aller Geräte auf 2 Zentralen braucht.

Des weiteren müsste man ja höllisch aufpassen keine "Loops" zu programmieren wenn beide Zentralen alle Geräte direkt ansprechen können.

Mir würde es nicht im Traum einfallen das mein "Zuhause-System" irgendwas im "Ferienhaus-System" schaltet und umgedreht.
Außerdem ist der Datendurchsatz ziemlich hoch, per LTE angebundene Systeme ohne "Daten-Flat" fallen da schon mal raus.

Das angesprochene "Geräte-Sharing" (speziell für die noch nicht existierende virtuelle Wetterstation :wink: ) finde ich hingegen gut.
Wenn man jetzt gute Nachbarn mit eigener Zentrale hat würde ich denen meine Wetterstation zur Verfügung stellen, im Gegenzug dürften die dann auch im Bedarfsfall meine Bewässerungsanlage per ELV-SH-GVI steuern falls der eigene Bodenfeuchtesensor kaputt ist.

Die "kleinen Dinge" gehen ja jetzt schon mit dem CCU-Jack, für das Komplettpaket sehe ich keinen Bedarf.

Benutzeravatar
Roland M.
Beiträge: 9806
Registriert: 08.12.2012, 15:53
System: CCU
Wohnort: Graz, Österreich
Hat sich bedankt: 252 Mal
Danksagung erhalten: 1381 Mal

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Roland M. » 27.09.2023, 16:17

Hallo!
Baxxy hat geschrieben:
27.09.2023, 15:02
Mir würde es nicht im Traum einfallen das mein "Zuhause-System" irgendwas im "Ferienhaus-System" schaltet und umgedreht.
Nachdem ich ja selbst drei Standorte miteinander verbunden habe, sehe ich auch aus meiner Praxis kein einziges Szenario, in dem die CCUs überhaupt gekoppelt werden müssten.
Meldungen a la "Batterie leer" oder im schlimmsten Fall "Heizung ausgefallen" sende ich per E-Mail und die Daten der 25 km entfernten Wetterstation sind zuhause für die Beschattungssteuerung auch irrelevant.

Außerdem ist der Datendurchsatz ziemlich hoch, per LTE angebundene Systeme ohne "Daten-Flat" fallen da schon mal raus.
Nein, nicht ganz.
Ich habe gerade auf der letzten Rechnung nachgesehen, da sind im letzten Monat in der sonst nicht genutzten Wohnung gerade einmal 2,3 GB angefallen, die sich der Historian von rund 40 Geräten geholt hat und die S2S-VPN-Verbindung selbst gebraucht hat.

Das angesprochene "Geräte-Sharing" (speziell für die noch nicht existierende virtuelle Wetterstation :wink: ) finde ich hingegen gut.
Wenn man jetzt gute Nachbarn mit eigener Zentrale hat würde ich denen meine Wetterstation zur Verfügung stellen
Ok, das ist ein durchaus sinnvolles Szenario, wobei ich auch da überlegen würde, ob nicht auch ein Mini-Webserver ausreichen würde, über den die Wetterdaten per python/json/whatever ausgetauscht werden könnten.


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
  • Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
  • Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
  • Fehlermeldungen genau abschreiben, besser noch...
  • Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!

-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...

Benutzeravatar
Baxxy
Beiträge: 10847
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2229 Mal

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Baxxy » 27.09.2023, 16:30

Roland M. hat geschrieben:
27.09.2023, 16:17
da sind im letzten Monat in der sonst nicht genutzten Wohnung gerade einmal 2,3 GB angefallen
Interessant, danke. :)
Das wirft natürlich die Frage auf was du mit...
Roland M. hat geschrieben:
27.09.2023, 16:17
drei Standorte miteinander verbunden habe
... genau meinst.

Ich hatte mal knapp 2 Tage einen Homeassistant [zu Hause mit der Homematic(IP) Local - Integration] mit der RM im Ferienhaus verbunden.
Die Integration hängt ja als Client am RPC ((BidCos / HmIP) (VirtualDevices hatte ich absichtlich weggelassen)) und hatte zusätzlich alle 30s per Remote-Script die SysVars "gescannt".
Der LTE-Tarif hat 7GB und schwupps kam die SMS... "sie haben 80% ihres Datenvolumens aufgebraucht".

Ich weiß jetzt nicht ob die RPC-Events oder der SysVar-Scan das Datenvolumen auffraßen.
Letzen Endes habe ich den Plan verworfen, dafür aber einen Proxmox ins Ferienhaus gestellt und dort HA (samt Integration) sowie RM jeweils als VM aufgesetzt.
Zusätzlich konnte ich den Maintainer der Integration "überzeugen" den SysVar-Scan-Intervall konfigurierbar bzw. ganz abschaltbar zu machen.

Einen nachträglichen "Daten-Verbrauchs-Test" habe ich dann nicht mehr gemacht.

Benutzeravatar
Roland M.
Beiträge: 9806
Registriert: 08.12.2012, 15:53
System: CCU
Wohnort: Graz, Österreich
Hat sich bedankt: 252 Mal
Danksagung erhalten: 1381 Mal

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Roland M. » 27.09.2023, 17:39

Hallo!
Baxxy hat geschrieben:
27.09.2023, 16:30
Das wirft natürlich die Frage auf was du mit...
Roland M. hat geschrieben:
27.09.2023, 16:17
drei Standorte miteinander verbunden habe
... genau meinst.
Na ja, ich hab einfach von zuhause aus je eine S2S-VPN ins Wochenendhaus und in die geerbte Wohnung. Von einem zusätzlichen Mobilrouter, den ich z.B. im Urlaub verwende, nochmals Zugriff auf die drei Standorte, wieder per S2S-VPN.

An jedem Standort läuft eine eigenständige CCU, deren Daten der CCU-Historian zuhause sammelt. Zusätzlich läuft eine Visualisierung (Creator Neo), auf der ich mir auf der ersten Seite anzeigen lasse, ob Servicemeldungen (oder sonst beachtenswerte Ereignisse) anstehen.
Sonst werden im Normalfall keine weiteren Daten übertragen. Im Anlassfall gehe ich dann selbst auf die jeweilige CCU.

In der geerbten Wohnung nutze ich eine seinerzeitige Aktion meines Handy-Providers (2 x Handytarife zahlen, 1 x Internet gratis), der aus heutiger Sicht mit 10 Mbit/s down & 1 Mbit/s up zwar lächerlich langsam ist, aber für diese Zwecke völlig ausreicht (unlimitiertes Datenvolumen).
Im Wochenendhaus habe ich einen etwas "größeren" Internetzugang (75/15), da hier auch z.B. remote mein Server gesichert wird und auch noch andere remote-Anwendungen laufen. Ich hoffe, das hier angekündigte Glasfaserkabel (FTTH) wird doch bald realisiert... :D


Roland
Zur leichteren Hilfestellung bitte unbedingt beachten:
  • Bezeichnung (HM-... bzw. HmIP-...) der betroffenen Geräte angeben (nicht Artikelnummer)
  • Kurzbeschreibung des Soll-Zustandes (Was soll erreicht werden?)
  • Kurzbeschreibung des Ist-Zustandes (Was funktioniert nicht?)
  • Fehlermeldungen genau abschreiben, besser noch...
  • Screenshots von Programmen, Geräteeinstellungen und Fehlermeldungen (direkt als jpg/png) einstellen!

-----------------------------------------------------------------------
1. CCU2 mit ~100 Geräten (in Umstellung auf RaspberryMatic-OVA auf Proxmox-Server)
2. CCU2 per VPN mit ~50 Geräten (geplant: RaspberryMatic auf Charly)
3. CCU2 per VPN mit ~40 Geräten (geplant: RaspberryMatic auf CCU3)
CCU1, Test-CCU2, Raspi 1 mit kleinem Funkmodul, RaspberryMatic als VM unter Proxmox, Access Point,...

rentier-s
Beiträge: 378
Registriert: 19.06.2017, 09:24
Hat sich bedankt: 20 Mal
Danksagung erhalten: 67 Mal

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von rentier-s » 28.09.2023, 09:22

Roland M. hat geschrieben:
27.09.2023, 16:17
Das angesprochene "Geräte-Sharing" (speziell für die noch nicht existierende virtuelle Wetterstation :wink: ) finde ich hingegen gut.
Wenn man jetzt gute Nachbarn mit eigener Zentrale hat würde ich denen meine Wetterstation zur Verfügung stellen
Ok, das ist ein durchaus sinnvolles Szenario, wobei ich auch da überlegen würde, ob nicht auch ein Mini-Webserver ausreichen würde, über den die Wetterdaten per python/json/whatever ausgetauscht werden könnten.
Ohne VPN müsste man für einen Datenaustausch auf mindestens einer Seite einen Port aufmachen. Nachdem das auf 80/443 schon ein offenes Scheunentor ist, möchte ich nicht wissen was mit einem offenen XML-RPC Port passieren kann. Ein hohes Risiko für Wetterdaten.

Meine Nachbarn per VPN in mein Netzwerk lassen, wäre ich auch nicht gerade begeistert.


Ich hatte aus Reichweiten- / Standort-Gründen eine Zeit lang in der Garage eine zweite PivCCU im Einsatz. Am Montageort gibt es kein LAN, deshalb wäre für HAP+HMGW (verwende gemischt HM und HmIP) usw. erst eine WLAN-Brücke notwendig gewesen, Pi3 und Funkmodul lagen eh noch rum. Dafür musste ich schon einen gewissen Aufwand mit CUxD betreiben, um die notwendigen Daten und Ereignisse hin und her zu bekommen.

In diesem einen Spezialfall wäre so eine Kopplung also nicht schlecht gewesen.

Mathias
Beiträge: 1796
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 262 Mal
Kontaktdaten:

Re: Alle Geräte einer CCU als virtuelle Geräte in einer zweiten CCU

Beitrag von Mathias » 28.09.2023, 16:49

rentier-s hat geschrieben:
28.09.2023, 09:22
Ohne VPN müsste man für einen Datenaustausch auf mindestens einer Seite einen Port aufmachen. Nachdem das auf 80/443 schon ein offenes Scheunentor ist, möchte ich nicht wissen was mit einem offenen XML-RPC Port passieren kann. Ein hohes Risiko für Wetterdaten.
Die Umsetzung wäre schon so, dass XML-RPC nicht ungesichert durch das Internet läuft. Zumal dann mehrere Ports und auch ein Rückkanal benötigt werden würden. Es wird auf einen gesicherten Tunnel hinaus laufen, über den alle nötigen Verbindungen zusammen gefasst werden.
rentier-s hat geschrieben:
28.09.2023, 09:22
Meine Nachbarn per VPN in mein Netzwerk lassen, wäre ich auch nicht gerade begeistert.
Der Datenaustausch könnte über einen Internetdienst, bei dem sich beide CCUs anmelden, erfolgen. Dann braucht kein Port-Forwarding eingerichtet zu werden.

Im Prinzip kann der Anwendungsfall bereits mit dem CCU-Jack realisiert werden. Dazu müsste nur ein MQTT-Server (mit Verschlüsselung und Anmeldung) im Internet erreichbar sein. Dann könnten Nachbarn nur gewünschte Datenpunkte über MQTT austauschen.

Ich hätte es allerdings gerne anwenderfreundlicher:
  • Ein Add-On auf der ersten CCU installieren.
  • Häkchen bei Geräte setzen, die für bestimmte Nutzer veröffentlicht werden sollen.
  • Schlüssel generieren.
  • Add-On auf der zweiten CCU installieren.
  • Schlüssel eintragen.
  • Virtuelle Geräte erscheinen und können verwendet werden.
Das könnte auch alles Ende-zu-Ende-verschlüsselt erfolgen. Der nötige Internetdienst könnte auch selbst betrieben werden. Dann sind alle beruhigt.

Antworten

Zurück zu „Softwareentwicklung für die HomeMatic CCU“