NEWS
Funksteckdosen mit Alexa und Logitech Hub
-
Ein Hallo in die Runde,
das ist mein erster Post und ich bin ein absoluter Neuling im Bereich Aushautomatisierung und ioBroker.
Wem meine Ausführungen zu lang sind, kann den ersten Absatz überspringen.Mein Ziel war (und ist) meiner Funksteckdosen und ein Max!-Heizungssystem über Alexa zu steuern. Mehr eigenlich nicht. Aber vielleicht wird ja doch mehr daraus. Ursprünglich wollte ich eigentlcih FHEM einsetzen, da ich da eine recht gute Doku gefunden hatte. EIn Kollege meinte, dass ich auch mal ioBroker ansehen sollte. Das habe ich dann getan und mir rund eine Stunde Videos angesehen. Dann habe ich einen Raspberry aus dem Schrank geholt und ioBroker lief nach einer Stunde. Das hat mich schon mal begeistert. Dann habe ich den Max!-Adpater entdeckt und nach rund einer weiteren Stunde lief auch die Heizungssteuerung und arbeite tip-top mit Alexa zusammen. Das alles begeistert mich sehr und da kann ich nur allen Entwicklern einmal DANKE sagen. Das die Hälfte meiner Vorstellungen, die ich seit 2017 habe, in nicht einmal einem halben Tag umgesetzt werden konnten ist einfach Klasse! Aber der zweite Teil meiner Vorstellungen lässt sich nicht so einfach realisieren.
Ich will 433Mhz-Funksteckdosen ansteuern. Konkret Intertechno. Ich weiß, es gibt besseres, aber zum einem habe ich da schon eine Menge und zum anderen steuere ich diese schon teilweise über eine Logitech-Fernbedienung und einem Logitech Hub. Deshalb möchte ich nicht alle Steckosen gegen WLAN-Dosen austauschen.
Meine Konfiguration bzw. Geräte:
Max! Heizungssteuerung
diverse Intertechno Funksteckdosen 433Mhz
Logitech Elite Fernbedienung
Logitech Hub
ein Umsetzer / Hub, welcher IR-Signale empfängt und in 433Mhz-Funksignale umwandelt. Das Teil wurde mal (mit einem Gegenstück) als Fernbedienungs-"Verlängerung" verkauft. Logitech hat für die Funksteckdosen IR-Codes bereitgestellt. Die Fernbedienung bzw. der Logitech-Hub senden diese Befehle als IR-Signal aus. Der Umsetzer empfängt diese und wandelt sie in ein 433Mhz-Funksignal um. Die Steckdosen funktionieren (fast) tadellos. Das alles hat sich seit über zehn Jahren bewährt.Hier zur genaueren Erläuterung noch ein paar Worte - für Schnellleser: weiter im nächsten Absatz
Jetzt kommt Alexa ins Spiel. Da habe ich mich mit Erscheinen von Alexa (muss September 2019 gewesen sein) beholfen, das ich Yonomi nutze. Hier kann ich aber nur Sequenzen anpsrechen und nicht einzelne Geräte. Ich kann sagen "Alexa schalte das Licht ein". Hinter der Funktion Licht verbirgt sich die Einschaltung mehrerer Steckdosen. Ich kann aber nicht gezielt eine Steckdose über Alexa / Yonomi schalten. Ich kann auch nicht eine Aktion dafür einrichten. Die Logitech-Philosophie sagt, dass immer nur eine Aktion aktiv sein kann. Das heißt, ich schaue "Fernsehen" und die Aktion ist aktiv. Wenn ich dann "Licht ein" aufrufen würde, dann würde da die Aktion "Fernsehen" ausgeschaltet werden. Nach dem Logitech-Jargon muss ich also die "Geräte" direkt ansteuern.Nun war meine ürsprüngliche Idee mir einen RF-Adapter 433Mhz selbst zusammenzubauen. Oder eine Broadlink IR/RF-Hub zu kaufen. Aber wieso eigentlich noch einen Hub mehr? Wir wollen ja Strom sparen wegen dem Klima
Eigentlich habe ich doch sowas. Den Logitech-Hub und den IR/RF-Unsetzer. Nur eben nicht in einem Gerät. Und der Umsetzer muss ja nicht intelligent sein, sondern nur stumpf IR in RF umsetzen. Also habe ich den Logitech-Hub-Adapter in ioBroker geladen. Alles Funktionen sind vorhanden. Die "Aktionen" und die "Geräte". Wenn ich in "Objekte" den Button "Simuliere Tastendruck" mit der Maus betätige, funktioniert alles. Sowohl die IR-gesteuerten Geräte (Fernseher usw.), als auch die Funksteckdosen. Mein Denkweg - ioBroker - Logitech Hub - Umsetzer funktioniert also.
Gehe ich jetzt zu "Instanzen" - "iot.02 – "Alexa-Geräte" und füge über den Button Geräte hinzu, dann lässt sich das nur für die IR-Geräte hinzufügen. Will ich ein RF-Gerät hinzufügen, dann Kommt folgende Fehlermeldung:"
Botschaft
Gerät harmony.0.Harmony_Hub_TN.Beleuchtungssteuerung.2On wurde nicht hinzugefügt
Das verstehe ich überhaupt nicht und habe da auch keine Idee oder Lösungsansatz und ach nirgendwo etwas dazu gefunden. Aber vielleicht kann mir hier jemand einen Tipp geben. Sicherlich ist der weg zum RF-Signal etwas exotisch und vielleicht hat noch jemand einen Vorschlag für einen einfacheren Weg. Ich dachte schon mal an CUL von FHEM.
Anbei noch zwei Screenshots (wenn ich die hier rein kriege).
Ach ja, ioBroker läuft auf eine Raspberry 3.
Für eure Hilfe bedanke ich mich schon einmal! -
@bullemausberlin
schau mal in den RAW vom Datenpunkt ob write auf true ist, bzw. setze es mal auf true. Wenn es dann immer noch nicht geht, dann erkläre ich Dir die "manuelle Variante".EDIT: kannst ja auch gern mal den RAW vom DP hier posten
-
@dslraser
Danke für die schnelle Antwort, konnte aber die letzen zwei Tage nicht nachschauen.
Aber jetzt. Ich hoffe das ich am richtigen Punkt war. Da steht write auf true. Siehe Screenshot. Ich probiere auch gern die "manuelle Variante"! -
füge mal diesen Teil in den RAW ein (natürlich mit Deinem gewünschten SmartNamen) und dann schau mal ob er im iot erscheint.
Hier mal ein Test als Switch"smartName": { "de": "0001Test", "smartType": "SWITCH" } },
Das ergibt dann aus diesem hier
das hier
So sieht der RAW dazu aus
{ "type": "state", "common": { "name": "Vu+-DVR:Audio", "role": "button", "type": "number", "write": true, "read": true, "min": 0, "smartName": { "de": "0001Test", "smartType": "SWITCH" } }, "native": { "action": "{\"command\":\"Audio\",\"type\":\"IRCommand\",\"deviceId\":\"47878985\"}", "name": "Audio", "label": "Audio", "controlGroup": "NavigationDVD", "deviceId": "47878985" }, "from": "system.adapter.harmony.0", "user": "system.user.admin", "ts": 1572203725468, "_id": "harmony.0.Wohnzimmer.Vu+-DVR.Audio", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Das hier wäre mal ein RAW ein Lampe, in dem Fall dann als LIGHT
"smartName": { "de": "Kaminlampe,Kaminlicht", "smartType": "LIGHT" } },
hier dann z.B. komplett
{ "type": "state", "common": { "def": false, "type": "boolean", "read": true, "write": true, "role": "switch", "name": "Kaminlampe.STATE", "smartName": { "de": "Kaminlampe,Kaminlicht", "smartType": "LIGHT" } }, "native": { "MIN": false, "OPERATIONS": 7, "MAX": true, "FLAGS": 1, "ID": "STATE", "TYPE": "BOOL", "DEFAULT": false, "CONTROL": "SWITCH.STATE" }, "from": "system.adapter.hm-rpc.0", "user": "system.user.admin", "ts": 1581756991275, "_id": "hm-rpc.0.xxx.3.STATE", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
B
bullemausberlin 13. März 2020, 17:30@dslraser
Erstmal ein dickes Dankeschön. Es hat sofort funktioniert.
Aber es gibt einen Schönheitsfehler.
Da die Funksteckdose für das Einschalten und Ausschalten zwei unterschiedliche Codes verwendet, muss ich nun folgendes zu Alexa sagen:
"Alexa schalte Steckdose xy Ein Ein"
und
"Alexa schalte Steckdose xy Aus Ein".
Ich habe ja zwei Befehle, die ich unterschiedlich ansprechen muss. Ich muss also auch das Ausschalten quasi einschalten.
Deshalb habe ich versucht eine Art Toogle-Funktion mit den beiden unterschiedlichen Codes in RAW zu erstellen. Aber bei RAW steht ja schon dran: NUR EXPERTEN. Ich habe es also nicht geschafft. Dazu fehlen mir auch die Programmierkenntnisse.
Mein Ansatzpunkt war "role" und dann wollte ich den zweiten Funkcode eintragen, denn "eigentlich" ist ja "nur" der Code bei "ts" entscheidend. Aber ich habe mehr oder weniger nur probiert. Da muss ich mich woh (oder übel) mit der Programmierung beschäftigen. Andererseits bin ich sicher nicht der Einzige, der Funsteckdosen mit ioBroker schaltet!?Wenn Du da noch eine Idee, einen Tipp oder gar eine Lösung hast, würde ich mich sehr freuen.
Im Moment behelfe ich mit mit folgenden Sprachbefehlen:
"Alexa Steckdose xy Ein auf 100%"
und
"Alexa Steckdose xy Aus auf 100%". Das ist nicht ganz so widersprüchlich, wie "Aus Ein".Hier mal der orignale Code für "EIN" und "AUS"
{ "type": "state", "common": { "name": "Beleuchtungssteuerung:8On", "role": "button", "type": "number", "write": true, "read": true, "min": 0 }, "native": { "action": "{\"command\":\"8On\",\"type\":\"IRCommand\",\"deviceId\":\"34734903\"}", "name": "8On", "label": "8On", "controlGroup": "Miscellaneous", "deviceId": "34734903" }, "from": "system.adapter.harmony.0", "user": "system.user.admin", "ts": 1584120976249, "_id": "harmony.0.Harmony_Hub_TN.Beleuchtungssteuerung.8On", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
{ "type": "state", "common": { "name": "Beleuchtungssteuerung:8Off", "role": "button", "type": "number", "write": true, "read": true, "min": 0 }, "native": { "action": "{\"command\":\"8Off\",\"type\":\"IRCommand\",\"deviceId\":\"34734903\"}", "name": "8Off", "label": "8Off", "controlGroup": "Miscellaneous", "deviceId": "34734903" }, "from": "system.adapter.harmony.0", "user": "system.user.admin", "ts": 1584120976248, "_id": "harmony.0.Harmony_Hub_TN.Beleuchtungssteuerung.8Off", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
@bullemausberlin sagte in Funksteckdosen mit Alexa und Logitech Hub:
Da die Funksteckdose für das Einschalten und Ausschalten zwei unterschiedliche Codes verwendet, muss ich nun folgendes zu Alexa sagen:
"Alexa schalte Steckdose xy Ein Ein"
und
"Alexa schalte Steckdose xy Aus Ein".Du könntest es in der Alexa App mit zwei Routinen lösen. In einer Routine kannst Du sagen/formulieren wie Du willst. SmartNamen in ioBroker würde ich welche nehmen, die Du nicht wirklich aussprechen kannst. (dann gibt es auch keine "Verwechslung" durch Alexa.)
Wenn Du nicht weißt wie ich es meine, dann frage einfach nochmal.Edit: Hier (im Beitrag weiter unten) habe ich mal das erstellen einer Routine beschrieben.
https://forum.iobroker.net/post/273896Edit2: Du könntest auch einen eigenen Datenpunkt (boolean/switch) erstellen und dann diesen in den iot einfügen. Den kannst Du dann über Sprache ganz normal ein/aus schalten. Den nimmst Du dann in einem kleinem Blockly als Trigger und steuerst damit Deine Button.
-
@bullemausberlin sagte in Funksteckdosen mit Alexa und Logitech Hub:
"Alexa schalte Steckdose xy Ein Ein"
und
"Alexa schalte Steckdose xy Aus Ein".wie soll denn Deine Steckdose heißen ? also der echte Sprachbefehl ?
-
hier mal so ein kleines Blockly. Hier wird der Datenpunkt unter 0_userdata.0 erstellt.
Der SmartName für iot/Alexa wird im Blockly gleich mit erstellt.
Hier das Blockly
Den Namen der Steckdose kannst Du natürlich ändern. Dafür in die Funktion klicken (</>) und ganz unten den Datenpunkt bzw. auch den SmartNamen anpassen.
['Alexa.Steckdosen.Steckdose_xy' ,{'name':'Steckdose_xy', 'type':'boolean', 'read':true, 'write':true, 'role':'switch', "smartName": {"de": "Steckdose xy","smartType": "SWITCH"} }],
-
@dslraser
Auf die Idee mit den Routinen bin ich nicht gekommen. Da habe ich den Wald vor Bäumen nicht gesehen. Denn ich wollte die Routinen zum Ausschalten nach einer bestimmten Zeit nutzen. Also z.B. Licht aus nach 30 Minuten.
Ich habe alle ausprobiert - es funktioniert. Wieder ein dickes Dankeschön!
Datenpunkt und Blockly habe ich mir angesehen. Aber da muss ich mir nochmal ein Erkärvideo ansehen und mal mit "rumspielen". Mal sehen, ob ich da bis Freitag Zeit finde. Probieren will ich es auf jeden Fall. Man wird ja nicht dümmer. -
@bullemausberlin
prima. Das Blockly kannst Du einfach importieren. Wenn Du fragen dazu hast, dann melde Dich einfach wieder.