NEWS
Script "LichtAn": Erkennt von welchem Echo-Gerät Befehl kommt
-
Hi,
hat noch wer das Problem, das Iobroker das Falsche Device schaltet, obwohl im Amazon Verlauf steht das Alexa den Befehle Licht an (von Gerät Schlafzimmer) empfangen hat
und Iobroker schaltet dann sporadisch gerne mal das Licht in einem anderen Raum…..
Ist ein bissl nervig
Aber da die Gruppensteuerung bei mir null funktioniert bin ich auf dieses geniale Script von dir angewiesen
HILFE
Gruß
Erti `
Ganz sporadisch habe ich das auch mal, dass der falsche Raum geschaltet wird.
Kannst Du mal nachprüfen, ob es immer der Raum ist, in dem Du genau davor einen Sprachbefehl abgesetzt hast?
Es könnte sein, dass manchmal der Trigger und die ganze Verarbeitung so schnell ist, dass die History noch nicht den neusten Befehl hat, und dann den davor nimmt. Wenn das bei dir so ist, dann kann ich dort einen kleinen Timeout von ner 1/4 Sekunde setzen, oder so, dass es immer geht.
-
Mit dieser CloudAdapter Version und den Alexa Gruppen funktioniert Licht an/aus bei mir wunderbar.
http://forum.iobroker.net/viewtopic.php?t=10202
Version vom CloudAdapter
Wann gibt es diese Funktionalität in der offiziellen Cloud-Adapter-Version. Wird jetzt ungern an so einer kritischen Stelle für die Verbindung mit Alexa dran rumspielen wollen.
-
das kann ich Dir nicht beantworten.
(bei mir läuft es stabil)
hm…verstehe ich aber nicht so ganz, der letzte Beitrag dort ist doch von Dir, oder ? Also hast/hattest Du es doch installiert, oder ?
-
das kann ich Dir nicht beantworten.
(bei mir läuft es stabil)
hm…verstehe ich aber nicht so ganz, der letzte Beitrag dort ist doch von Dir, oder ? Also hast/hattest Du es doch installiert, oder ? `
Nein, ich hatte noch nie eine andere Version des Cloud-Adapters installiert.
Der letzte Eintrag in dem anderen Thread bezog sich darauf, dass ich die Gruppensteuerung über die Alexa-App geschafft hatte hinzubekommen. Das hatte aber nichts mit der Version des Cloud-Adapters zu tun.
-
Hallo Stefan,
erstmal großen Dank und Respekt für die gute Arbeit.
Nachdem ich das Problem mit dem LOGON Script gelöst habe "schäm".
Hab ich auch dein Lichtscript zum laufen bekommen.
Was jedoch bei mir irgendwie nicht will sind meine Hue Lampen, ich habe in der selben Zeile auch meine Homematicsteckdose drin die meine Küchenschrankbeleuchtung ein und aus schaltet die geht aber meine Hue geht weder aus noch an.
var mappingTable = [ { "deviceSerialNr" : "G090LF09652XXXXXX", "deviceIDs": ["hue.0.Philips_hue.Küchendecke.level" ], "deviceIDs": ["hm-rpc.0.OEQ0479892.1.STATE" ] } ];
Update: Ich habe nun eine zweite Alexa hinzugefügt in dem Fall für das Wohnzimmer dort habe ich auch einen Homematic Stecker mit einer Lampe dran und eine Hue Go.
Hier ist es genau andersrum die Hue Go geht aber der Homematic nicht. Schon komisch.
Weiss nicht wo der Fehler liegt.
MFG
Maggi
-
ich fühle mich so doof….
gerade bin ich über diesen Beitrag gestolpert.
Ich bin noch ganz neu in dem Thema ioBroker und relativ neu mit meinen Alexas unterwegs.
Ich habe ja schon einiges gelernt, aber hier bin ich noch überfordert.
wo und wie muss man denn das Skript speichern bzw. aufrufen?
Da ich genau nach DIESER Möglichkeit, also gleiche Befehle steuern Zimmerabhängig ähnliche geräte (Licht, TV...), bin ich extrem daran interessiert, dass das auch bei mir funktioniert.
-
Hallo Stefan,
erstmal großen Dank und Respekt für die gute Arbeit. `
Danke, freut mich
Was jedoch bei mir irgendwie nicht will sind meine Hue Lampen, ich habe in der selben Zeile auch meine Homematicsteckdose drin die meine Küchenschrankbeleuchtung ein und aus schaltet die geht aber meine Hue geht weder aus noch an.
var mappingTable = [ { "deviceSerialNr" : "G090LF09652XXXXXX", "deviceIDs": ["hue.0.Philips_hue.Küchendecke.level" ], "deviceIDs": ["hm-rpc.0.OEQ0479892.1.STATE" ] } ]; ```` `
Die Zeile muss für mehrere Geräte an einem Echo wie folgt aussehen:
{ "deviceSerialNr" : "G090LF09652XXXXXX", "deviceIDs": ["hue.0.Philips_hue.Küchendecke.level", "hm-rpc.0.OEQ0479892.1.STATE" ] }
Die Erklärung:
Die eckigen Klammern bedeuten, dass alle Objekte dazwischen zusammen in eine Liste kommen.
So wie Du es geschrieben hast, bedeutet es, dass es zwei Listen mit dem gleichen Namen (deviceIDs) mit jeweils einem Eintrag gibt.
Dadurch wurde dann wahrscheinlich die zuletzt definierte genutzt. Die hat nur einen Eintrag, die Homematic-Steckdose.
-
Erstmal hallo Arnulf,
kurz zu meinem Problem ich habe den Fehler selbst gefunden.
Es war wieder so einfach dass ich selbst zu kompliziert gedacht habe.
Dann nun zu dir Arnulf erstmal willkommen in der ioBroker Welt.
Was dieses Script angeht wenn man wie meinem Fall einmal richtig geschaut hätte wäre es klar gewesen.
So dann also du kopierst dir das Script so wie es Stefan im ersten Post gepostet hat.
Dann gehst du in deinen IO rein oben im Reiter Skripte (Voraussetzung ist natürlich dass du auch den Javascript Adapter installiert hast) dort gehst du dann Links
auf das kleine Symbol um ein neues Skript anzulegen dann erscheint auf der rechten Seite die Auswahl Blockly oder Java dort wählst du dann Java aus und kannst dann im
rechten Bereich das Script rein kopieren.
Und dann wie dort im Script beschrieben alles anpassen, wie gesagt die Voraussetzung dafür ist dass du das LOGON Script am laufen hast.
Hoffe ich konnte dir weiterhelfen.
Nachtrag: Ja das war das Problem Stefan die Klammern. Ich habe das ganze mal weiter gesponen und probiert es lassen sich damit auch Datenpunkte schalten was richtig gut ist.
Denn in meinem Fall konnte ich so noch meine Sonos aus der Küche mit einbinden die ich über eine kleines Zusatzscript in dem nur PLAY/STOP und Volume geregelt wird, eben in der Abhängigkeit ob der Datenpunkt True oder false ist.
MFG
Maggi
-
ich fühle mich so doof….
gerade bin ich über diesen Beitrag gestolpert.
Ich bin noch ganz neu in dem Thema ioBroker und relativ neu mit meinen Alexas unterwegs.
Ich habe ja schon einiges gelernt, aber hier bin ich noch überfordert.
wo und wie muss man denn das Skript speichern bzw. aufrufen?
Da ich genau nach DIESER Möglichkeit, also gleiche Befehle steuern Zimmerabhängig ähnliche geräte (Licht, TV...), bin ich extrem daran interessiert, dass das auch bei mir funktioniert.
`
Helfe gerne
Welche Art von Lampen hast Du? Für manche Lampen funktioniert die zimmerabhängige Steuerung von Alexa mittlerweile direkt über die Gruppen in der App, z.B. Philips Hue.
Wenn Du nur Hue verwendest, dann würde ich es zunächst mit dem direkten Weg in der App versuchen.
Für alles exotischere, oder Zwischenschalter verschiedener Hersteller etc. oder Sonderlogik, die Du vor hast, eignet sich das Script.
Für TV, PCs oder andere Geräte, die zimmerabhängig gesteuert werden sollen, gibt es derzeit von Amazon keine Möglichkeit.
Hier geht nur das Script, mit entsprechender Anpassung des Smart-Gerät-Names im Konfigurationsteil.
Maggi hat gerade gepostet, wie Du mit dem Script dann weiter kommst
Schreib einfach, wenn Du weitere Fragen hast.
-
Nachtrag: Ja das war das Problem Stefan die Klammern. Ich habe das ganze mal weiter gesponen und probiert es lassen sich damit auch Datenpunkte schalten was richtig gut ist.
Denn in meinem Fall konnte ich so noch meine Sonos aus der Küche mit einbinden die ich über eine kleines Zusatzscript in dem nur PLAY/STOP und Volume geregelt wird, eben in der Abhängigkeit ob der Datenpunkt True oder false ist. `
Cool, sowas meinte ich gerade mit Sonderlogik, die jeder gerne für seine Situation dazu haben möchte.
-
Stefan, danke für das Angebot.
Ich verwende gerade einen ganzen Zoo von Geräten mit unterschiedlichen Herstellern. Gefühlt ist jedes Gerät anders.
zwei Dots, ein Plus.
Dann Lampe von IKEA.
Sonoff Schalter. Mit alternativer Firmware und original.
TP-Link Steckdose
HUE Lampe
Fritzbox
Samsung-TV
Harmony Hub
RM3 Mini von Broadlink
Demnächst sollen noch Temparatur-Sensoren und Strommess-Steckdosen hinzu kommen….
Der ioBroker läuft auf einem Raspi 3+
Bin schon sehr storlz, dass ich das alles seit Weihnachten zum Fliegen gebracht habe, da eigentlich ALLES für mich neu war.
Aber primär geht es mir zunächst darum, den Samsung im Schlafzimmer mit meinem RM3 Mini und den Samsung im Wohnzimmer über den harmony Hub so zu steuern, dass die Sprachbefehle gleich und bei der Harmony nicht immer mit dem Zusatz "mit Harmony" funktionieren.
Später sollen meine Schalter Zimmerabhängig funktionieren....
Im Grunde aber brauche ich erst mal ein grundverständnis, wie ich die JS-Module in ioBroker einbaue und wie ich die aufrufe.
Den Code werde ich dann wahrscheinlich schon verstehen (komme aus der IT) und ihn dann für meine Zwecke modifizieren.
-
Hört sich nach einen hübschen Zoo an
Für die TV-Anbindung musst Du in der Tat das Script entsprechend anpassen, so dass je nach Echo, die Aktivitäten in der Harmony oder in Broadlink gestartet werden.
Solltest Du dann aber mit IT-Kenntnissen hinbekommen.
Grundlegend ist es so im JS-Module verwaltest Du die Scripte, also Anlegen, Editieren, Löschen. Du kannst die Scripte in Ordner strukturieren und vieles mehr.
Zusätzlich fungiert die Oberfläche aber auch als Operationsbasis für die Scripte. Du kannst sie starten und stoppen und das Log einsehen, wenn sie laufen.
In ioBroker ist der Objekt-Reiter die zentrale Anlaufstelle für die Kommunikation von Daten zwischen zwei Scripen bzw. zwischen IoT-Gerät und Scripten.
Ergo, kannst Du in einem Script Datenpunkte im Objektreiter anlegen (siehe LichtAn-Script im Konfigurationsteil).
Diese Datenpunkte werden dort normalerweise unter dem Eintrag "javascript…" erzeugt. Im Script-Code kann darauf mit setState() und getState() zugegriffen werden.
Außerdem können Scripte auch auf Änderungen von Datenpunkte lauschen und bei einer Änderung Code ausführen.
Das können sowohl Statusänderungen von IoT-Geräten sein (Licht an/aus) oder durch Scripte generierte Änderungen.
-
Krass.
kurz und knapp.
Habe nach deiner Beschreibung mal das AlexaLogOn-Script eingebaut, konfiguriert, gestartet ==> läuft
Vielen Dank.
Jetzt bin ich schon wieder einen großen Schritt weiter gekommen… und mus erst mal verstehen, was hier passiert ist
[Nachtrag]: Unglaublich. Auch das Licht-An-Skript läuft (nach dem zweiten Versuch) einwandfrei
Auch wenn ich es zunächst mal nur mit Lampen ausprobiert habe
Riesiges DANKE!
-
-
könnte man das ganze spektakel nicht auch mit in den Cloud adapter paken ? wäre doch schön wenn man es für alle einfacher macht
-
könnte man das ganze spektakel nicht auch mit in den Cloud adapter paken ? wäre doch schön wenn man es für alle einfacher macht `
Da musst Du die Entwickler des Cloud-Adapters fragen, ob sie das wollen, ob das technisch überhaupt möglich/sinnvoll ist. Keine Ahnung…
Ich stimme Dir aber zu, dass ein Adapter (muss ja nicht im Cloud-Adapter sein) es für Anfänger zunächst einmal einfacher machen würde.
Auf der anderen Seite ist das schöne an einem Script, dass jeder, der ein bisschen Coding-Erfahrung hat, hier ganz einfach seine Sonderlogik hinzucoden kann (wie bei Maggi vorhin z.B.).
-
Hallo zusammen,
herzlichen Dank für die sehr guten Scripts von Stefan!
Habe Alexa erst seit Weihnachten und bin leider noch ein Newcomer.
Meine Frage: wie / was muß ich in iobroker tun, damit Alexa Licht an triggert.
Mit cloud kann ich das Licht über Alexa schalten, aber nicht mit dem Skript.
cloud möchte ich aber nicht weiter nutzen.
Cookie ist vorhanden und gültig. Aber in Alexa bekomme ich kein Gerät und somit auch keinen Trigger um das Skript Alexa_Licht_ein (main) zu starten.
Vielleicht kann mir jemand den entscheidenden Tip geben, wie ich das in Alexa hin bekomme!?
Besten Dank im Voraus.
-
Meine Frage: wie / was muß ich in iobroker tun, damit Alexa Licht an triggert.
Mit cloud kann ich das Licht über Alexa schalten, aber nicht mit dem Skript.
cloud möchte ich aber nicht weiter nutzen. `
Bin mir jetzt nicht ganz sicher, was Du mit cloud meinst.
Geht es um den cloud-Adapter in iobroker? -> für das Script unbedingt erforderlich, weil er dafür sorgt, dass der Trigger für das Script befüllt wird.
Oder meinst Du, dass Du die Gruppenzuordnung in der Alexa App nicht nutzen willst? -> Dafür kann das Script als Ersatz dienen
Generell sollte aber klar sein, dass die Spracherkennung und Verteilung an den ensprechenden Skill (hier ioBroker Skill) immer in der Cloud bei Amazon passiert.
Du kannst Dir zum Beispiel mein Script zum Löschen der Sprachbefehle aus der Cloud ansehen: http://forum.iobroker.net/viewtopic.php?f=37&t=9770
-
Tag und Nacht andere Level zu haben, kann ich nachvollziehen. ` Moin Dirk,
ich bin gerade über diese Anforderung gestolpert.
Du könntest dass Umsetzen in dem Du separate Scripte anlegst, die das Einschalten der Lampe beobachten und dann bei bestimmten Uhrzeiten entweder sofort dimmen, oder anders herum - den abgedimmten Wert als Standard ganze nicht an und zu bestimmten Uhrzeiten hellt das Script dann auf (ähnlich eines Softstarts).
Dann muss das nicht über die Alexa Steuerung abgebildet werden.
-
Hallo Stefan,
danke für die rasche Antwort.
Ja, ich meinte den cloud-Adapter in Biobroker. Auf den ich gerne ganz verzichten würde, so wie ich aus Deinem Script 'Lichtein' interpretiert habe.
Scheinbar geht das aber Doch nur mit dem cloud-Adapter um den Trigger zu bekommen. Damit hatte ich auch schon Erfolg.
Der cloud-Adapter ist bei mir sehr instabil und die Verbindung mal da und mal nicht.
Besten Dank nochmals für Deine Erläuterung.