Seite 1 von 3

Mit Alexa Licht schalten, eine Alternative

Verfasst: Sa Jan 02, 2021 11:54 pm
von gbglace
Guten Abend zusammen,

hier hatte ich ja so ein bissel gefrustet berichtet Alexa via NodeRed an den KNX zu bringen.

KNX binde ich über den KNX-Ultimate Node an, der hat ja hier im Forum als auch im KNX-UF einen guten Support.

Den Hinweis von Robert schaue ich mir auch nochmal an.

Nach ein wenig suchen und probieren habe ich dann mal im NR Repository nach einem der aktuellsten (zuletzt aktualisierten Alexa-Nodes gesucht).

Bin dann auf den Node node-red-contrib-virtual-smart-home gestoßen.
der Ist ja wirklich sehr leicht bei Alexa als Skill zu registrieren. Und im NR ergibt das ein einfaches Node-Element.

Auch beim KNX-Ultimate node gibt es in den Anleitungen einen verweis auf einen Alexa node. Aber da scheitere ich dann bei der Aktivierung des Alexa Accounts in dem Node. Der Node den Robert gefunden hat scheint auch eine recht einfache Verbindung zu ermöglichen.
Der von mir verwende war aber wirklich in zwei Klicks und einer Code Eingabe aktiviert.

Das angenehme ist, wenn man ein neues Alexa Element in den Flow einhängt und in den Eigenschaften einen Namen gibt, meldet sich nach ein paar Sekunden nach dem deploy direkt der echo hier im Zimmer und berichtet das ein neues Gerät verfügbar ist.
Off Topic
Das ist natürlich ultra bequem, möchte aber wahrscheinlich besser nicht wissen was da permanent für Daten ausgetauscht werden. Wer Idee wie man das ein wenig als Netzwerk unwissender bewerten kann?
Dann gab es zwar auch nen kleinen Frustmoment bei direkter Verbindung von dem Alexa Node mit dem KNX-Node. Die haben sich natürlich beim simplen Schalten nicht verstanden, weil der eine ein umfangreiches JSON Objekt sendet der andere da aber einfach true/false im payload erwartet.

Um das zu erkennen, habe ich da mal so einen debug-node aus der Standardpalette eingefügt.
Nach gut 2h googeln (wie man was in NR convertieren kann, Grundlagen der Javascript Syntax) habe ich mir dann noch einen Converter aus dem Standard-node "function" gebaut, der mir den JSON vom Alexa node auswertet und an zwei der KNX-nodes verteilt. Dabei wird in einem keinen Codeschnipsel dann auch passend konvertiert (true false bei eingehendem Schaltbefehl und dem Dimmwert bei absoluten Dimmbefehl).
Das schaut dann da gerade so aus.

Code: Alles auswählen

var dimmlevel = {payload: msg.payload.brightness}

if(msg.payload.directive === "TurnOn" && msg.payload.powerState === "ON") 
    {msg.payload = true; return [msg,null]}
else if(msg.payload.directive === "TurnOff" && msg.payload.powerState === "OFF")
    {msg.payload = false; return [msg,null]}
else if(msg.payload.directive === "SetBrightness")
    {return [null,dimmlevel]}
else 
    {return null,null}
Der ganze Flow für eine Lampe dimmbar ist dann sowas hier.
NR_Flow_Licht.JPG

So für heute reicht mir das soweit.

PS:
Eine Frage an die Vielnutzer von NR unter euch.
Macht Ihr für jedes solches Element einen Flow (als Reiter in NR) oder zeichnet Ihr mehrere solcher Lampensteuerungen in einen "Flow"?

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 10:46 am
von Robert_Mini
Hallo Göran!

Danke für deinen Beitrag.
Du bist ja mit OpenHAB unterwegs, warum fremdelst du mit NR?
Ich bin ja echt hin- und hergerissen.
OH ist unglaublich mächtig, aber auch komplex. Hab die Jalousie gestern noch hinbekommen (außer den Stopp-Befehl). Wenn man dann aber wieder einen Schritt geschafft hat, dann kann man extrem effizient mit copy/Paste vervielfältigen.
Und OpenHAB bietet als einziges auch Alexa-Control an (leider mit memleak).

NR ist extrem schlecht dokumentiert und es gibt >10 Alexa-Flows, großteils aber outdated.
Dimmen etc. muss man sich selbst zusammen basteln und das x20 ist nicht wahnsinnig übersichtlich, dafür flexibel.
Für die Jalousie wär das sicher entsprechend noch komplexer (auf/ab, höher/tiefer, Lamelle auf/zu, Schritt auf/zu, Positionen)...
Und die Flows sind dann auch nicht so richtig selbsterklärend.

Lg
Robert

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 11:34 am
von gbglace
Nee OH hab ich nicht am Start. Das hatte ich mal vor TWS Zeiten versucht aber die Visu auf'n Handy sah mir zu sehr nach Candycrush aus.
NR scheint mir auch immer noch die schlankere Containervariante von den dreien, NR/OH/iOBroker.

Ja die unsortierte Vielfalt an Nodes zu einem Thema kann da komisch sein. Ich will das ja alles gar nicht alles in den Übersetzern laufen haben. Wenn der TWS sein MQTT bekommt dann geht der Alexa JSON auf einen MQTT Ausgang in den TWS, dann hab ich schonmal den KNX weg.

Der KNX-Baustein kann ja die ETS GA-Informationen einlesen. Wenn ich also bei einer sauberen Struktur in der Elementbezeichnung bin gleich zur GA Bezeichnung, dann lässt sich der Alexa JSON auch für das Objekt automatisch auf die passende GA Mappen. Dann ist das ein Alexa-Node je Objekt welcher aber alle Funktionen beinhaltet und ein Converter je Objekttyp der auf x KNX Nodes verteilt. Die drei Bausteine kopiert man dann einfach je Objekt und fertig. GA und Name ausgetauscht und los geht's.

So ein converter lässt sich dann hoffentlich auch schlank im TWS basteln also ein JSON aus dem MQTT rein und x Outputs raus. Im laufenden LE würde ich nicht denken, dass das so reinpassen würde.

Relatives Dimmen scheint Alexa nicht zu beherrschen, oder ist das eine Schwäche von dem AlexaSkill?

Zumindest hat das für den Einstieg den POC bestanden.

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 12:40 pm
von Dragonos2000
Hi @Robert_Mini ,
verwechselst Du vielleicht mit mir, denn ich hab' auf OH gesetzt. Die Visu ist in der Tat Geschmackssache und auch unter OH 3 gab es da keinen Schritt nach vorn. Einen gewaltigen Sprung nach vorn gab es dafür beim Ressourcenbedarf :? (OH 2 um die 500M RAM, OH 3 genehmigt sich 1G)

Hege daher auch schon den Gedanken fremdzugehen...

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 1:31 pm
von alexbeer
Habe leider noch keine Erfahrungen mit der Integration. Von Alexa - finde den Weg über NR aber ebenfalls charmant und habe hier folgenden Skill gefunden:
https://alexa-node-red.bm.hardill.me.uk/docs bzw

Habt ihr hiermit auch schon Erfahrungen gesammelt?

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 1:44 pm
von gbglace
Den hat Robert ja schon im anderen Thread erwähnt.

Der scheint auch relatives Dimmen zu beherrschen.

Wenn Du das schaffst das es eine Verbindung zu Alexa gibt und Alexa einen neu eingefügten Node dann auch als neues Gerät schnell bei sich findet. dann ist das eine Alternative.

Der Weg von Alexa zum KNX scheint ja dann erstmal wieder identisch bzw. ähnlich zu sein.

Es gibt allerdings auch einige Alexa-nodes die sich in einem Container nicht so wohl fühlen und dann ggf andere Netzwerkanforderungen an den Container haben, da bin ich dann wieder direkt raus.

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 2:03 pm
von alexbeer
Ich probiere Mal....
Auf der Webseite des Entwicklers muss man sich ja registrieren, um die Devices zu verwalten.
Als Tipp habe ich da gerade gelesen:
"After making any changes remember to ask Alexa to update devices it knows about by saying "Alexa, discover devices".
"

Sobald ich etwas herausgefunden habe, melde ich mich.

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 3:16 pm
von Robert_Mini
Hallo Göran, Jochen, Alex!

Interessante Geschichte!
Ich finde NR als Leichtgewicht-Container auch grundsätzlich zum TWS am besten passend, OH in der Tat oversized und wenn ich 1GB für OH3 höre :angry-banghead: :angry-argument:

Was ist der Unterschied ob nun NodeRed direkt am KNX sendet vs. über MQTT auf ein Objekt am TWS und dieser auf den KNX sendet?

Lg
Robert

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 3:17 pm
von alexbeer
Hallo Göran,
innerhalb von 15 min habe ich es nun geschafft, unseren Tannenbaum per Alexa ein- und auszuschalten.
Was meinst du mit
Wenn Du das schaffst das es eine Verbindung zu Alexa gibt und Alexa einen neu eingefügten Node dann auch als neues Gerät schnell bei sich findet. dann ist das eine Alternative.
genau?
  1. Im NodeRed habe ich das Alexa-Device erst zur Auswahl, wenn es unter https://alexa-node-red.bm.hardill.me.uk/devices definiert wurde.
  2. Anschließend muss Alexa über neue Geräte benachrichtigt werden - bei mir funktioniert das am besten via Browser per alexa.amazon.de dort dann auf "Suche" - ggf kann man dies auch über die API - https://developer.amazon.com/en-US/docs ... ate-report realisieren
  3. Wenige Sekunden später ist das neue Gerät in der App verfügbar.
  4. Anschließend kann dieses neue Gerät im NodeRed auch verwendet werden.
Habt ihr Bedarf, dass ich das per Screenshot und Erläuterung dokumentiere, damit es in die bestehende KB oder später ins Confluence aufgenommen werden kann?

Re: Mit Alexa Licht schalten, eine Alternative

Verfasst: So Jan 03, 2021 3:24 pm
von Robert_Mini
Hallo Alex!

Bedarf ist immer da und kommt in die KB/Confluence.
Mein Gefühl sagt mir auch, dass NR massentauglicher ist als OH.

Ideal wäre ein Vergleich zu Göran’s Flow, damit wir nur eine NR Alexa Lösung propagieren! Voll. kann das Göran auf Basis deiner Anleitung machen?

Danke und Lg
Robert