Im Moment hab keine weitere Logik auf dem IOBroker Raspi laufen, die das umsetzen könnte. Was ich gefunden habe ist der "Scenes" Adapter. Mal schauen ob sich das irgendwie miteinander verknüpfen lässt.
Ankündigung
Einklappen
Keine Ankündigung bisher.
io.broker - hilfe gesucht
Einklappen
X
-
Ich glaub da komme ich nicht weiter. Habe node-Red isntalliert, aber IoBroker an sich ist schon so mächtig mit unendlich vielen Möglichkeiten und NodeRed hat nochmal tausende zusätzliche Funktionen.
Erstmal zum Verständnis, Ich spreche über Alexa einen Befehl z.B. Szene Abend. Alexa gibt den wert 1 oder "an" weiter an das entsprechende Smart-Gerät was vom Cloud Adapter erzeugt wurde. Da de Cloud Adapter aber nur 0 und 1 an die KNX GA weitergeben kann, müsste ich jetzt den Wert aus dem Cloud-Adapter in Node Red bekommen und dann von Node-Red aus an die KNX GA senden. Nur wie bekommt man das ganze verknüpft?
Kommentar
-
hast du den Adapter 'Script Engine' im ioBroker installiert? Damit sollte das in JavaScript oder Blockly gehen. Das ist erstmal einfacher und leichtgewichtiger als NodeRed.
Mit NodeRed geht es aber auch, wenn es im ioBroker installiert ist dann hat man ioBroker Nodes die einen einfachen Zugriff auf die ioBroker Objekte ermöglichen.
Hier wird das im Schnelldurchgang erklärt: https://www.youtube.com/watch?v=ZeTdEH1SWBg
Die ganze ioBroker Reihe von M. Kleine ist recht gut: https://www.youtube.com/playlist?list=PLcXIjZgo0R3AWNbOypQ7F66qKmupMxWKxZuletzt geändert von JojoS; 10.07.2019, 21:24.
Kommentar
-
Hi Thomas,
ich habe nochmal drüber nachgedacht, was am einfachsten wäre. Zuerst würde ich wie von Jojo empfohlen "Script Engine" mit Blockly installieren.
Dann erstellst Du Dir je KNX-Szene ein neues manuelles Objekt im ioBroker, z.B. unter dem javascript.0 Adapter und nennst die wie die Szenen.
Diese Objekte "schaltest" Du über Alexa, dabei musst Du aber wohl "Szene XYZ ein" sagen und nicht nur "Szene XYZ".
In Blockly könnte das dann vielleicht so aussehen:
Blockly.JPG
Immer daran denken, dass der tatsächliche Szenenwert 1 niedriger ist als die Szene selbst, da die Szenen in Wirklichkeit mit 0 losgehen und nicht mit 1.
Die "Licht und Steckdosenszene" ist in meinem Fall die KNX Gruppenadresse aller Szenen.
Man könnte auf den "Aus-Wert" natürlich auch noch diejenige Szene aufrufen, die alles wieder ausschaltet, dann müsstest Du über das blaue Zahnrad noch eine weitere Stufe der falls-Prüfung hinzufügen und damit dann auf "falsch" prüfen und die zweite Szene aufrufen.
Viel Spaß beim Testen
Marc
Kommentar
-
Hier noch ein Hinweis zur Verbindung von Alexa und KNX: Das Ganze kann auch ohne Cloud funktionieren, nämlich zwischen dem ioBroker-Rechner und den Amazon Echos rein im lokalen Netzwerk (Dafür wäre nicht einmal eine Internetverbindung des ioBrokers notwendig). Das ganze geht über NodeRED, das auch als Adapter auf ioBroker installiert werden kann. Damit hat man eine Fehlerquelle - nämlich die ioBroker-Cloud - ausgeschaltet, auch der CLoud-Adaper ist dafür nicht erforderlich. Und man braucht nicht einmal einen eigenen Skill dafür installieren.
Siehe mehr dazu auch hier: https://forum.iobroker.net/topic/104...loud-und-skill
Aber Vorsicht: Geht nur bei Amazon Echos, nicht bei z.B. Sonos-Boxen mit Alexa drauf!Zuletzt geändert von andreaskos; 11.07.2019, 20:15.
Kommentar
-
Zitat von sinn3r Beitrag anzeigenHi Thomas,
ich habe nochmal drüber nachgedacht, was am einfachsten wäre. Zuerst würde ich wie von Jojo empfohlen "Script Engine" mit Blockly installieren.
Dann erstellst Du Dir je KNX-Szene ein neues manuelles Objekt im ioBroker, z.B. unter dem javascript.0 Adapter und nennst die wie die Szenen.
Diese Objekte "schaltest" Du über Alexa, dabei musst Du aber wohl "Szene XYZ ein" sagen und nicht nur "Szene XYZ".
In Blockly könnte das dann vielleicht so aussehen:
Blockly.JPG
Immer daran denken, dass der tatsächliche Szenenwert 1 niedriger ist als die Szene selbst, da die Szenen in Wirklichkeit mit 0 losgehen und nicht mit 1.
Die "Licht und Steckdosenszene" ist in meinem Fall die KNX Gruppenadresse aller Szenen.
Man könnte auf den "Aus-Wert" natürlich auch noch diejenige Szene aufrufen, die alles wieder ausschaltet, dann müsstest Du über das blaue Zahnrad noch eine weitere Stufe der falls-Prüfung hinzufügen und damit dann auf "falsch" prüfen und die zweite Szene aufrufen.
Viel Spaß beim Testen
Marc
So, habe das Ganze mal mit Blockly wie folgt versucht, hatte aber noch keine Zeit die Szene zu testen:
1. Unter Javascript Adapter ein Objekt mit dem Namen Scene_Abend erstellt.
Objekt_Szene_Script Adapter erstellt.jpg Objekt_Szene_Script Adapter_bearbeiten.jpg
2. In Blockly JS das zuvor erstellte Objekt zusammen mit der Logik und dem Szenenwert "0" (In der ETS ist die Szene Abend mit Wert 1 hinterlegt) angelegt.
Die Frage ist jetzt, was mus ich jetzt im Cloud Adapter noch einstellen? Im Moment ist im Cloud Adapter noch das Szene Abend Objekt aus dem KNX.0 Adapter hinterlegt:
Objekt_Szene_KNX_Adapter.jpg ,
Muss das KNX.0 Objekt jetzt gegen das manuell erstellte Objekt aus JS getauscht werden?
Kommentar
-
Zitat von andreaskos Beitrag anzeigenHier noch ein Hinweis zur Verbindung von Alexa und KNX: Das Ganze kann auch ohne Cloud funktionieren, nämlich zwischen dem ioBroker-Rechner und den Amazon Echos rein im lokalen Netzwerk (Dafür wäre nicht einmal eine Internetverbindung des ioBrokers notwendig). Das ganze geht über NodeRED, das auch als Adapter auf ioBroker installiert werden kann. Damit hat man eine Fehlerquelle - nämlich die ioBroker-Cloud - ausgeschaltet, auch der CLoud-Adaper ist dafür nicht erforderlich. Und man braucht nicht einmal einen eigenen Skill dafür installieren.
Siehe mehr dazu auch hier: https://forum.iobroker.net/topic/104...loud-und-skill
Aber Vorsicht: Geht nur bei Amazon Echos, nicht bei z.B. Sonos-Boxen mit Alexa drauf!
Danke für den Hinweis. Mit NodeRED ohne Cloud werde ich auch mal testen. Ich versuche erstmal die oben beschriebene Lösung zum laufen zu bringen und im Anschluss werde ich mich mal mit dieser Lösung beschäftigen.
Kommentar
-
So.. habe getestet und es funktioniert fast :-)
Die Szene wird richtig aktiviert, aber das Problem ist noch, dass die Szene im Cloud Adapter als Switch eingebunden ist und somit vor dem nächsten aktivieren erst wieder ausgeschalten werden muss. Ansonsten wird die Szene nicht erneut aktiviert. Ich habe schon versucht die Szene auf Typ Szene Trigger umzustellen, Alexa finden das Gerät dann auch als Szene, aber beim aktivieren passiert leider nichts. Kann es sein, dass nur Typ Switch in Kombination mit Cloud und Alexa funktioniert?
Unbenannt.JPGAngehängte Dateien
Kommentar
-
Ich denke die Scene-Trigger funktionieren anders, so dass Blockly damit nicht klarkommt.
Aber Du kannst ja noch ein automatisches zurücksetzen auf "Aus" auf den Schalter mit ins Blockly einbauen, sobald die Szene eingeschaltet wurde.
Das Aus hat ja keine Auswirkung auf irgendwas, insofern Du damit nicht eine andere Szene damit aktivierst.
Kommentar
-
Ok, alles klar mit switch und automatischem zurücksetzen klappt es. Allerdings ist mir aufgefallen, dass bei der zweiten Szene "Tag", wenn im Blockly Textfeld eine 1 steht eine 4 an den Bus übertragen wird und so die falsche Szene aufgerufen wird. Bei der Zahl 2 wird Szenenwert 6 übertragen und bei 3 die 9. Mal schauen. Kennt jemand dieses verhalten?
Kommentar
-
Liegt wohl am Datentyp. Die Szene hatte im KNX.0 Adapter den Datentyp 5001. In der ETS ist der Datentyp 17.001. Ich habe jetzt mal im KNX Adapter Objekt den Datentyp auf 17.001 geändert. Jetzt ist es allerdings so, dass immer eine 1 an den Bus gegeben wird, egal welche Nummer in Blockly angegeben wurde. Welchen Datentyp hast du bei dir verwendet?
Kommentar
Kommentar