NEWS
bshb - Rollladensteuerung mit yhka Homekit
-
Du meinst so einen Datenpunkt?
Mit yahka kann ich drauf schalten.
Allerdings habe ich keine Erfahrung im Coding, wie ich diesen Datenpunkt zwischen yahka und der Bosch API verknüpfen kann - sowohl für das Schalten als auch die Statusrückmeldung -
Aber genau das meinte ich mit einen Datenpunkt erstellen - das passt schon gut. Bei der Conversion im YAHAKA musst Du denke ich passthrough einstellen.
Wichtig ist erst mal, dass das funktioniert.
Sprich Du kannst im Apple HomeKit aus und einschalten und kannst umgekehrt, wenn Du den Punkt unter userdata true oder false schaltest sich das im HomeKit auch so darstellt.Allerdings habe ich keine Erfahrung im Coding, wie ich diesen Datenpunkt zwischen yahka und der Bosch API verknüpfen kann - sowohl für das Schalten als auch die Statusrückmeldung
Na da kann ich Dir mit Node Red aushelfen. Das ist nicht kompliziert.
Wenn das klappt - wie gesagt den Datenpunkt zwischen dem Homematic Bosch Datenpunkt und der userdata.0.Test Datenpunkt ist easy.
Wenn das klappt - dann können wir nämlich einfach die beiden Punkte verbinden (hin und rück) und dabei übersetzten. Wenn man dann noch ein delay oder was braucht, dann bauen wir das halt dann ein.
In diesen translate nodes wird dann einfach true und false gegen on und off getauscht - wie bis jetzt ja auch:
Ist das eigentlich dieser Adapter den Du benutzt?
oder ist das HomeMatic ??? - irgendwie blicke ich das noch nicht.
Hier wurde für den Switch mit YAHAKA das Script beschrieben, dass Du aber genau so schon benutzt hattest. Im Prinzip haben wir das ja alles schon ausprobiert.
https://github.com/holomekc/ioBroker.bshb/wiki/Yahka-Switch
Mal unabhängig von der NodeRed Lösung - wäre es ggf. wenn das HomematicIP ist, macht es dann eigentlich nicht mehr Sinn diesen Adapter zu nutzen?
-
Also ich habe mich mal in Node Red eingearbeitet - super, sieht wirklich benutzerfreundlich aus.
So sieht mein Mapping aus:
Translate_1:
Translate_2:
Das Umschalten des Userdata Status True/False funktionierte ja schon über die Homekit App, allerdings empfängt die Bosch API kein Update:
Muss ich den Node Red Flow noch irgendwie aktivieren? Ich habe nur Übernehmen geklickt.
Bzgl. BSHB:
Die Lichtsteuerungen und Rollladensteuerungen sind Homematic Hardware. Andere Komponenten wie die Bewegungsmelder, Rauchmelder usw. sind Bosch-Entwicklungen.
Ich kann den Bosch eignen Adapter für die Lichtsteuerungen einsetzen. Allerdings kann dieser Adapter noch nicht alles - z.B. werden die Temperaturwerte (Soll/Ist) von den Raumthermostaten nicht in die Homekit App übernommen. Teilweise werden Sensorwerte konsolidiert, die ich gerne separat zeigen möchten. Deswegen würde ich gerne nach und nach komplett auf Yahka umstellen :-). -
@sascho Huch - Du überraschst mich ja immer wieder - was Du dann so plötzlich alles treibst.
Zu einen geh erst mal in die Adaptereinstellungen von Node-Red und nimm bitte den Haken raus, das alles in Strings konvertiert wird.
Also diese Option:
darf NICHT aktiv sein.
Dann darfst Du nicht die Get Nodes verwenden, sondern die iobroker-IN Nodes.
Die schauen so aus:
Haben also keinen Eingang und nur einen Ausgang.
Umgekehrt nimmst Du für die out-Nodes nur diese:
die haben nur einen Eingang und keinen Ausgang:
Nun aber Vorsicht, dass Du keine Endlosschleifen produzierst und Dein System lahm legst. In den iobroker-In Nodes, trägst Du deshalb zur Sicherheit erst mal ein, dass nur bei geänderten Werten eine Nachricht gesendet werden soll.
Dann machst Du hinter Deinen beiden translate Nodes bitte noch jeweils eine Debug Node und schaust Dir an, ob im Debugfenster das richtige rauskommt:
Wenn Du nicht zurecht kommst, dann kann ich den Flow auch für Dich machen und Du importierst ihn noch. Wichtig sind aber erst mal die Adaptereinstellungen und dann versuchs halt erst mal.
Und jede Änderung wird erst durch Übernehmen aktiv. Wir schauen erst mal, dass Du das hinbekommst. Wenn Du dann noch Lust hast, Dich weiter in NodeRed einzuarbeiten, dann habe ich ein paar Links und Videos für Dich.
Getriggert werden die Flows dann übrigens automatisch durch Aktualisierung - deswegen ist es so wichtig, dass Du erst mal nur Änderungen durchlässt.
Im Prinzip funktionieren Dein Flow (mit den richtigen in und out Nodes dann so).
- Im Homekit änderst Du 0_userdata.0.Test zu true oder false - damit triggerst Du den oberen Flow.
- In translate1 wird dann true bzw. false in on oder off übersetzt und in den bshb.0. .... Punkt geschrieben. Da sich dieser nun auch ändert, wird automatisch der
- untere Flow getriggert, der nun falls geändert über translate 2 den 0_userdata.0.Test wieder true bzw. false schreibt,
- Damit wird der obere Teil wieder getriggert - der weiterlaufen würde (Endlosschleife), wenn Du da nicht reinschreibst, dass nur geänderte Werte weitergereicht werden. Deswegen ist das so wichtig - sonst legst Du wie gesagt Dein System lahm - aber ich denke das ist nun mit der BEschreibung leicht zu begreifen.
Ach und noch was - wenn Du den bshb.0 Node mit der iobroker out Node beschreibst, dann nimmst Du bitte den Typ command:
wenn Du den 0_userdata.0.Test beschreibst den Typ value:
Das hat was mit dem ACK Flag zu tun, was unter 0_userdata.0 sonst nie gesetzt wird, bei anderen Datenpunkten aber durch den entsprechenden Adapter.
-
Ja, ich taste mich Schritt für Schritt an das Machbare heran. Später würde ich gerne auch noch den Wechselrichter mit der Wallbox verknüpfen. Ursprünglich wollte ich über Relais gehen, aber wenn das alles per Software machbar ist, um so besser :-).
Also, gestern hat es geklappt mit der oben beschriebenen Lösung: Datenpunkt and yahka anbinden, mit Node Red an den Bosch Adapter heranzugehen. Ich musste auch kein Delay einbauen, der Status wurde sauber angezeigt.
Jetzt wollte ich heute mal ein paar Lampen anschließen und habe neue Datenpunkte angelegt und den Testdatenpunkt gelöscht, aber Node Red erkennt neu angelegte Datenpunkte nicht sondern hat nur den bereits gelöschten Datenpunkt als Topicauswahl. Muss man Node Red neu einlesen?
-
@sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:
Jetzt wollte ich heute mal ein paar Lampen anschließen und habe neue Datenpunkte angelegt und den Testdatenpunkt gelöscht, aber Node Red erkennt neu angelegte Datenpunkte nicht sondern hat nur den bereits gelöschten Datenpunkt als Topicauswahl. Muss man Node Red neu einlesen?
Ja das ist so. Du kannst entweder einfach den Pfad zum Topic über die Zwischenablage reinkopieren,
ansonsten wird die Objektstruktur nur beim Adapterstart eingelesen. (also NodeRed Instanz neu starten.) ggf muss man zusätzlich auch den Browser aktualisieren.Ich empfehle das Kopieren über die Zwischenablage.
-
Cool, das hat beides funktioniert! Vielen Dank!
Ganz zuverlässig war es bis gerade noch nicht. So funktioniert es aktuell ohne Delay... Ich teste noch mal
etwas.
-
@sascho Rechts unten die iobroker -out Node solltest Du ggf. value (=ACK = true) und nicht comand schreiben, da die Datenpunkte unter userdata von keinem Adapter bestätigt werden.
Oben hingegen ist comand richtig, da hier der Bosch Adapter den Wert bestätigt.
Und bei den iobroker-IN Nodes ggf. nochmals überprüfen, dass nur geänderte Werte triggern (wie gesagt sonst Gefahr von Endlosschleifen).
-
@mickym said in bshb - Rollladensteuerung mit yhka Homekit:
Und bei den iobroker-IN Nodes ggf. nochmals überprüfen, dass nur geänderte Werte triggern (wie gesagt sonst Gefahr von Endlosschleifen).
Also, ich habe die Änderungen gestern Abend vorgenommen und alle meine Lichtsteuerungen auf Yahka umgestellt. Bisher läuft alles super stabil. Vielen Dank
Jetzt würde ich mich die nächsten Abende mal an die Integration der anderen Geräte machen.
Ich habe ja noch Rauchmelder, Bewegungsmelder und den Twinguard offen.
Ein paar Basic-Fragen hätte ich... der Bewegungsmelder speichert bei erkannter Bewegungen keine Boolean Wert ab sonder nur einen Zeitstempel. In der originalen Bosch Homekit Integration steht aber Bewegung erkannt 'Ja/Nein'. Der Zeitstempel wird also umgewandelt in ein Ja/Nein, ich vermute durch einen Abgleich mit dem aktuellen Zeitstempel.
Wo kann ich am Besten so eine formel hinterlegen z.B. Bewegungszeitstempel - Aktuelle Zeit < 60 Sekunden = Ja.Der Twinguard übermittelt die PPM Werte und eine Bewertung der Luftqualität. Hat Homekit ein "Gerät", der PPM Werte in der App anzeigt?
Gleiches gilt auch für Windgeschwindigkeiten - gibt es dafür bereits ein Symbol?
-
@sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:
Also ich glaube, dass es ziemlich schwierig sein wird, wenn Du alles in Homekit abbilden wirst. Ich finde das Teil teilweise sehr undurchsichtig.
Das was der YAHKA Adapter macht, dafür gibt es auch NodeRed Nodes - da beide auf der gleichen Technologie aufsetzen funktioniert das auch identisch. Was der YAHKA Adapter kann bzw. wie das einigermaßen zusammenhängt - kannst Du im NodeRed Wiki für die Apple HomeApp nachlesen. Wie gesagt dieses Wiki ist zwar für NodeRed Nodes geschrieben, aber es ist die gleiche Technologie wie beim YAHKA Adapter, deshalb sind die Beschreibung der Werte bzw. Parameter 1:1 auf den YAHKA Adapter anwendbar.
Die HomeApp ist aber sehr beschränkt.
Ich nutze wie gesagt NodeRed und auch das Dashboard. Wenn Du die Apple Optik bevorzugst, aber nicht auf die HomeApp beschränkt sein willst, dann schau Dir doch mal unter iobroker diesen iqontrol Adapter an - da bist Du für die Visualisierung nicht auf die Beschränkungen der Home App angewiesen, hast aber diese Apple Kacheloptik. Ich selbst nutze den zwar nicht, aber dafür gibts hier im Forum ja eigene Threads.
Du solltest Dir also wirklich überlegen, ob Du Dir die Home App als Visualisierung wirklich antun willst. Ich werde da leider nicht zu viel helfen können.
@sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:
Der Twinguard übermittelt die PPM Werte und eine Bewertung der Luftqualität. Hat Homekit ein "Gerät", der PPM Werte in der App anzeigt?
Wenn Du Dir YAHKA bzw, das Wiki anschaust, dann siehst Du was es einen Luftgütesensor gibt.
https://github.com/NRCHKB/node-red-contrib-homekit-bridged/wiki/Example-Air-Quality-Sensorppm muss man dann halt in mg/m³ umrechnen.
Beim Rauchmelder gibt es nur:
https://github.com/NRCHKB/node-red-contrib-homekit-bridged/wiki/SmokeSensor
Rauch erkannt oder nicht@sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:
Ein paar Basic-Fragen hätte ich... der Bewegungsmelder speichert bei erkannter Bewegungen keine Boolean Wert ab sonder nur einen Zeitstempel. In der originalen Bosch Homekit Integration steht aber Bewegung erkannt 'Ja/Nein'. Der Zeitstempel wird also umgewandelt in ein Ja/Nein, ich vermute durch einen Abgleich mit dem aktuellen Zeitstempel.
Wo kann ich am Besten so eine formel hinterlegen z.B. Bewegungszeitstempel - Aktuelle Zeit < 60 Sekunden = Ja.Bewegungssensor ist easy - zusammen mit NodeRed Flow - da brauchst gar nichts berechnen.
Da interessiert Dich gar nicht, was Dein Bewegungsmelder da reinschreibt. Über eine iobroker-In Node wird ein Flow ausgelöst und mit einer trigger Node kannst Du dann einfach true oder false schicken. Der trigger Node kann so konfiguriert werden, dass bei jeder weiter erkannten Bewegung der Zeiraum bis Bewegung ist falsch gesendet wird.
Du nutzt also den MotionSensor Service:
Du legst dann wieder für Deine Bewegungsmelder unter userdata Punkte ein in den true und false gespeichert wird.
Der Flow ist dann easy:
Der trigger sieht so aus:
Es wird also bei Bewegung sofort true gesendet. Werden weitere Bewegungen registriert werden, dann bleibt Bewegungsmelder unter userdata auf 0-Wenn keine Bewegung erkannt wird, wird nach Ablauf von 1 Min false gesendet.
Man kann natürlich die Zeitspanne bis keine Bewegung nach letzter erkannter Bewegung erkannt werden soll dann hoch oder runter setzen. Da brauchst Du nichts rechnen und ist super easy.
Also wie gesagt - glaube ich, je höher Deine Ansprüche steigen Du Dich vielleicht doch mit einer eigenen Visualisierung beschäftigen sollst.
Wenn ich das sehe mit Windgeschwindigkeiten usw. (HomeKit ist mE dafür nicht geeignet).Ich habe mir ja gerade meine eigene Wetterseite gebastelt.
Du musst immer Bedenken: Die Apple HomeApp versucht alle Geräte in ein ziemlich enges Korsett zu zwängen, damit man mit Siri steuern kann bzw. jedes Gerät halt genau definierte Eigenschaften hat. Sobald ein Gerät mehr kann - dann wird es problematisch, wenn der Hersteller das nicht programmiert hat.
Darf ich mal prinzipiell fragen - was ist eigentlich der Sinn, warum du in die HomeApp integrieren willst?
- Steuerung durch Siri?
- Szenenerstellung mit IOS?
- Integration in Kurzbefehle?
-
Cool, vielen Dank für die ausführliche Antwort!
Den Rauchmelder habe ich anbinden können. Allerdings war mir nicht klar, welcher Status vom Bosch Gerät bei Alarm gesetzt wird. Ich musste also etwas Rauch erzeugen ;-).
Beim Bewegungsmelder hat es auch funktioniert gemäß Deiner Anleitung. Ich habe vorne noch ein Block until Value changes eingebaut.
Beim Luftgütesensor bekomme ich gerade nur die PPM angezeigt. In Node Red wird der "Good" Wert leider nicht in 1 umgewandelt, sondern good wieder ausgegeben. Woran kann das liegen?
Bzgl. des VIS, ich habe mit dem Homekit begonnen, weil es eben da ist. Besondere Steuerung habe ich mir nicht erhofft. Eine eigenes View wäre auch nicht schlecht. Kann man sich dann das Ipad als Brücke sparen, wenn man nicht zuhause ist?
Ich habe mal mit dem VIS gespielt... sieht gut aus... aber alles umzubauen ist schon ein Haufen an Arbeit :-(. -
@sascho sagte in bshb - Rollladensteuerung mit yhka Homekit:
Beim Luftgütesensor bekomme ich gerade nur die PPM angezeigt. In Node Red wird der "Good" Wert leider nicht in 1 umgewandelt, sondern good wieder ausgegeben. Woran kann das liegen?
Dazu müsste ich erst mal wissen, was da für Werte rein kommen und wie Deine Change Node den aussieht. Wenn das gleiche rauskommt, was reinkommt dann trifft keine Änderungsregel zu. Schau mal ob Du Groß- und Kleinschreibung berücksichtigt hast und mit dem Typ String vergleichst.
Theoretisch müsstest Du das ja ggf. auch mit mapping im Yahka Adapter machen können oder hast Du da auch ein Problem wie mit Deinen Lampen?
Ich habe mal mit dem VIS gespielt... sieht gut aus... aber alles umzubauen ist schon ein Haufen an Arbeit :-(.
Nun ja - das ist es immer. Wenn Dir NodeRed als Logikmaschine zusagt, kannst Du Dir wie gesagt auch das NodeRed Dashboard direkt anschauen, damit kann man zwar auch nicht grafisch aufwendig, aber sehr sehr schnell Ergebnisse erreichen.
Allerdings wie bei allen eigenen Visualisierungen musst Du, wenn Du von außen zugreifen willst ja dann eine eigene Infrastruktur aufbauen. In diesem Fall ist das IPad als Brücke sicher günstiger.
Bei eigenen Visualisierungen von außen über VIS kannst Du ggf. die iobroker Cloud nutzen (das kostet aber soweit ich weiß) oder Du setzt ein eigenes VPN oder einen ReverseProxy auf. Beides ist leider nicht banal und gerade beim Reverse Proxy ist das problematisch.
Ich nutze deshalb bei Zugriff von außen ein eigenes VPN.Beim Bewegungsmelder hat es auch funktioniert gemäß Deiner Anleitung. Ich habe vorne noch ein Block until Value changes eingebaut.
Falls Du eine RBE Node verwendet hast - die braucht es nicht mehr. Man kann auch in der iobroker-In Node angeben, dass nur dann Nachrichten ausgegeben werden, wenn sich etwas ändert - würde ich aber eigentlich nicht machen, da sich dann die Anwesenheit nicht automatisch verlängert, was doch wahrscheinlich gewünscht wird, wenn weitere Bewegungen erkannst werden. Sprich ich würde jede Aktualisierung als Trigger weiter verwenden.
-
Das Problem mit den Luftgütesensoren ist auch behoben. Ich hatte tatsächlich nicht auf Groß-und -Kleinschreibung geachtet. Mea culpa!
Die Bewegungsmelder funktionieren gerade ganz gut mit den aktuellen Einstellungen. Sie reagieren nicht immer, aber das liegt evtl. auch an einem internen Stand-By Modus der Bewegungsmelder selbst.
Das iQontrol habe ich gerade mal gecustomized - Lampen und Rollläden würden da auch gehen. Sehr schön auch gruppiert in Bildschirme Lampen, Rollläden, Thermostate usw. und dann nach Räumen. Das gefällt mir besser als in der Home App.
Bevor ich jetzt alles wieder umschmeiße, kann iQontrol auch Automatisierungen? Das wäre der Vorteile des Ipads an der Wand. -
@sascho Nun in der Home App kannst Du ja Szenen erstellen. Was iQontrol wirklich kann, kann ich Dir nicht beantworten, da ich es nicht benutze.
Automatisierungen machst Du aber, wenn Du es nicht in der HomeApp machst besser mit Deiner Logikmaschine (Node Red), Datenpunkte hast Du in der iobroken Datenbank, die Visualisierung ist nur dafür zuständig Datenpunkte zu visualisieren.
Aber wie gesagt von außen erreichst Du Dein System nicht so leicht, wie mit der Apple HomeApp.
-
Die Automatisierungen per Red Node zu erstellen wäre ja okay - die wichtigsten wären z.B. Wechselrichter mit der Wallbox zu verbinden, Windgeschwindigkeit mit den Jalousien. Das würde sicher gehen.
Ein K.O., Kriterium wären alle Lösungen, bei denen man nicht von unterwegs auf das System zugreifen kann. Iqontrol hört sich jetzt mal so an, als wenn das nichts wäre.
Die Ipad lösung ist auch nicht ganz günstig... Ipad 900 EUR + Wandhalterung. Evtl. gibt das doch was billigeres per Abo und alten Tablet?
-
@sascho WIe gesagt, die iobroker Cloud kenn ich nicht und bist (ohne es genau zu wissen auf VIS als Oberfläche festgelegt).
Ansonsten bist Du halt mit einer VPN Lösung am flexibelsten, weil Du dann auch von außen so arbeiten kannst, als wärst Du in Deinem Heimnetz. (Damit ist auch jede Visualisierung nutzbar).
Solltest Du noch einer der Glücklichen mit einer IPv4 Adresse sein, dann kannst Du direkt ein VPN über Deine FritzBox herstellen (kostet in dem Fall gar nichts), falls nicht dann habe ich momentan eine Lösung über OpenVPN, feste-ip.net seit über einem Jahr am Laufen und bin ganz zufrieden. Dazu müsste man halt erst mal wissen, wie denn Deine Internetverbindung aussieht.
Mit der Reverse Proxy Lösung bin ich ehrlich gesagt eher gescheitert und ist auch ein Riesenaufwand einen neuen Dienst einzubinden.
-
Wir haben hier Glasfaser von der Dt. Telekom. Auf den Ip-Ident-Seiten tauchen eine IP6 und IP4 Adresse auf:
.
Ich müsste mal schauen, ob sich die IP4 ändert. Parallel schaue ich mal, ob man eine feste IP bei der Telekom bekommen kann. Die VPN Einrichtung läuft dann über die Fritzbox und/oder die NAS?
-
@sascho
Wenn Du eine Fritzbox hast dann brauchst keine feste IP, sondern Du machst Dein VPN über MyFRITZ auf. Alternativ suchst Dir ein DDNS Anbieter dann musst Dich halt mit Deinem Router auskennen. Bei DDNS bzw. MyFRITZ machst Du Dein VPN über den Namen auf. Die Zuordnung zu Deiner IP erfolgt dynamisch sprich mit jedem Verbindungsaufbau. Meist ist das wesentliche günstiger als eine feste IP. -
Der Tipp mit der Fritzbox war gut. Ich konnte einen VPN öffnen und auf iQontrol zugreifen. So gut wie das aussieht, wäre es evtl. wirklich eine Alternative zum Homekit. Ich teste das mal ein paar Tage.
-
@sascho Na freut mich, dass Du das mit dem VPN hinbekommen hast.
Kannst ja bissi mit IQontrol spielen. Ich kann Dir dazu wenig sagen.
Ansonsten kannst halt wie ich das NodeRed Dashboard nutzen - da hast halt den schnellsten Erfolg zwischen Steuerung und Logik. Mit dem VPN stehen Dir ja nun alle Möglichkeiten der Visualisierungen offen.Meine Wetterseite hatte ich ja schon gepostet und auch meine Homepage oder Heizungssteuerung habe ich ja schon mal gepostet.
Wie gesagt, wenn das VPN erst mal läuft - Du brauchst Dich auch nicht auf eine Visualisierung festlegen. Ich habe die Ausgaben des Flotadapters in das NodeRed Dashboard eingebunden.
Und auch mal eine VIS Seite mit Grundriss gebastelt. Schaut Dir alles in Ruhe an. Wie gesagt durch das VPN bist ja nicht mehr festgelegt.