rdmtc / RedMatic

Node-RED packaged as Addon for the Homematic CCU3 and RaspberryMatic 🤹‍♂️
Apache License 2.0
535 stars 47 forks source link

CCU3 -> Homekit "echter Sensor" versus "simulierter Schalter" #427

Open FSTNDonald opened 3 years ago

FSTNDonald commented 3 years ago

Ziel: in Homekit eine Szene definieren: "Wenn Helligkeit > 2000 Lux, dann Rolladen zu 80% schliessen". Sensoren / Aktoren: Wetterstation und Rollladensteuerung in CCU3 (nativ, nicht Debmatic).

Problem: ich bekomme zwar den Helligkeit-Kanal der Wetterstation über das Redmatic "Homekit" Plugin in Homekit, aber das ist kein 'echter' Sensor, d.h. ich kann keine Kondition / Aktion darauf aufbauen.

Lösung: CCU3 Systemvariable, Typ boolsche Variabel, mit "if Lux>2000 then true else false" definieren und Gewerk / Raum setzen. Im Redmatic Flow-Designer CCU-SYSVAR mit HOMEKIT-SWITCH per 8 verknüpfen, wird in Homekit sofort als Schalter angezeigt, va bene. Je nach aktueller Helligkeit ist der Schalter auch On / Off, Logik funktioniert.

Problem: in Homekit Szenen sind wohl nur Sensoren und keine Schalter vorgesehen. Daher eine Homekit Automatisierung an den Schalter "Lux>2000" geknüpft. Schon beim Definieren erscheint das Problem - Homekit wertet den Schalterwechsel Off->On aus und nicht den aktuellen Status des Schalters (Zeitsteuerung: um xx.xx Uhr als UND Kondition). Workaround: bei der Definition in der CCU3 nicht nur Helligkeit ausgewertet, sondern eine UND Kondition über Zeitsteuerung, dass dies Systemvariable erst um "xx.xx + 5 Minuten" gesetzt wird, d.h. Homekit den Einschaltvorgang sieht.

Das erscheint mit sehr Umweg zu sein...?

Frage an die Gurus - wie kann ich einen Sensor per Redmatic so an Homekit übertragen, dass ich die Logik (Zeit=xx.xx UND Helligkeit > 2000 Lux) dort als Szene abbilden kann?

VG Donald

Sineos commented 3 years ago

Sorry, bin glühender Apple Ablehner, obwohl ich auf Homekit / Apple Home schon bisschen neidisch bin ;-)

Daher nur als Anregung: Die Logik (Helligkeitsauswertung, Zeitabhängigkeit etc) in Node-Red abbilden und diese Logik über Homekit aktivieren / deaktivieren ginge nicht? Denke da z.B. an Nodes wie https://flows.nodered.org/node/node-red-contrib-simple-gate

FSTNDonald commented 3 years ago

Hi Sineos,

vielen Dank für den Input - die Frage dahinter ist die nach der 'Spitze der Pyramide'.

Redmatic ist nach ggw. Plan eine der Basen, d.h. liefert nur Sensorwerte und steuert Aktoren. Warum - weil ich auch native Homekit Devices habe und wer weiss, welche Technologien mit Homekit Gateways da einem noch so unterkommen. Apple definiert über seinen Marktanteil faktisch einfach Standards, so gut oder schlecht die auch sein mögen.

Am Rande - ich habe einen längeren Rundkurs mit 'Homebridge' als Integrationsplattform hinter mir - mit aktuellem iOS / TvOS funktioniert Homebridge Richtung Homekit nicht mehr stabil - sic. Den RasPi abgeschaltet und auf der CCU3 Redmatic installiert, Homekit Node konfiguriert und damit stabile Automationen - Verlässlichkeit auch in Abwesenheit wie Urlaub ist wichtig für mich.

Insofern ja, die Logikschicht in Node-Red abbilden oder sogar auf den CCU selber ist sicherlich möglich und genauso stabil, vielleicht läuft es darauf hinaus, ich sammle im Moment Erfahrungen ;-))

VG Donald

djiwondee commented 3 years ago

@FSTNDonald

weil ich auch native Homekit Devices habe und wer weiss, welche Technologien mit Homekit Gateways da einem noch so unterkommen... ...Logikschicht in Node-Red abbilden...

Das ist genau auch mein Denkansatz gewesen. Daraus ist jetzt halt ein "meshed Setup" geworden:

image

Die CCU3 spielt dabei schon eine zentrale Rolle. Sie bindet die vielen Aktoren für Rolladen und Lichtschalter ein, die sich in einem Haus gebaut in den frühen 90er gut austauschen lassen und agiert Dank redmatic als sehr gut eingebetter Nodered-Server und gibt der CCU ein bißchen was zu tun ;-) Der Raspbee II (Zigbee-Device-Kopplung) und ein MQTT-Broker (3rd Party Device Kommunikation) spielen bzgl. Connectivity auch noch eine wichtige Rolle.

Meine nicht-native Homekit-Device binde ich übrigens mit nrchkb ein. Sowohl das was an Geräten von der CCU gekoppelt wird, als auch sonstiges. Der Vorteil gerade bzgl. Deiner eigentlichen Anfrage wäre hier u. U., dass man für Homekit z. B. auch was als Sensor exponieren kann oder Accessories mit Charakteristiken bereitstellt, die das Homekit Plugin für Redmatic so nicht ermöglicht. Damit werden in Homekit auch Automationen um Auslöser weiter erleichtert.

Seit dem eine Homekit-Zentrale, wie das Apple TV oder der HomePod auch mit einem beschränkten Set an Apple-Kurzbefehl-Komponenten umgehen kann, lassen sich Automationen in Homekit immer individueller aber auch komplexer konfigurieren.

Unterm Strich steht ein flexibles und in Connectivity weitestgehend offenes Gesamt-System. Man muss aber natürlich auch Leidenschaft, Lust und Laune und Zeit zu sowas haben, was aber in der Raspi und Homematic Welt i. d. R. gegeben ist. Anders wäre solche Rollen und großen Projekte wie redmatic wohl nicht entstanden und kontinuierlich weiterentwickelt. Vielen Dank dafür an alle Contributors!

Sineos commented 3 years ago

Mein Setup (ohne Homekit) ist ähnlich.

In Summe achte ich eben bei jeder Neuanschaffung, dass es entweder sauber in Node-Red, iobroker, Homematic oder Zigbee integriert werden kann und die Logik wird rein in Node-Red abgebildet.

FSTNDonald commented 3 years ago

... ja, das ist in der Tat die Frage nach dem größten gemeinsamen Nenner. Ich bin bei open source, die an der Kapazität/Verfügbarkeit eines oder weniger Entwickler hängt, immer vorsichtig. Mein Learning war ein Homebridge Plugin, dessen genialer Entwickler, aus welchen Gründen auch immer, das Plugin nicht weiter gepflegt hat. Dann ändert sich irgendwo ein Protokollelement oder kommt etwas dazu, und schon ist ein Loch in diesen Kettenautomationen. Schade ist, dass keiner der Großen mit einer Logik-Plattform (ELV, IBM, Apple) ein Rundum Device Portfolio zu vernünftigen Preisen anbietet. Es muss ja nicht gerade die 10,-- € WLAN-Steckdose aus China mit Zigbee oder Homekit 'non certified' Firmware sein, aber eine Elgato Eve (mit Bluetooth, wofür das bitte?) für 50,-- € ist auch nicht die Lösung. Einiges habe ich in der Vergangenheit mit ESP-8266 in NodeMCU realisiert, da ist Sensor/Aktor und Logik im Device, aber bei dem bisschen ROM bekommt man die tollen if-then-else Automatismen aus CCU, Node-Red etc. nicht hin. Danke fürs Feedback und die Impule, ich beobachte weiter, mal sehen wo die nächste Automatisierungsanforderung am besten reinpasst.