NEWS
ioT Adapter Button triggern ohne EIN/AUS
-
@marting sagte in ioT Adapter Button triggern ohne EIN/AUS:
@dslraser
ach sorry.. zeile verfehlt. jetzt habe ich den richtigen Datenpunkt in mein vorherigen Post kopiert..Hier Dein Datenpunkt
{ "type": "state", "common": { "name": "clean Room", "type": "boolean", "role": "button", "read": false, "write": true, "desc": "Start Room Cleaning", "smartName": { "de": "Testbutton", "smartType": "SWITCH" } }, "native": {}, "_id": "mihome-vacuum.0.rooms.493001036787.roomClean", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1638521297304 }
Das ist der iot Teil. Den Curser hier hinter das letze Zeichen setzen
"desc": "Start Room Cleaning"
und das hier einfügen. Den Namen Testbutton durch Deinen Wunschnamen ersetzen.
, "smartName": { "de": "Testbutton", "smartType": "SWITCH" }
Dann ist er in iot eingefügt
-
@dslraser
super. das hat geklappt. Habe nun den datenpunkt (button) im IoT Adapter. Allerdings wird er nicht getriggert, wenn ich Alexa damit steuere. Alexa kennt den befehl, es wird allderdings nichts ausgeführt.
Als welchen Typ muss ich den Button im IoT Adapter anlegen? Ist hier Switch richtig? -
@marting sagte in ioT Adapter Button triggern ohne EIN/AUS:
@dslraser
super. das hat geklappt. Habe nun den datenpunkt (button) im IoT Adapter. Allerdings wird er nicht getriggert, wenn ich Alexa damit steuere. Alexa kennt den befehl, es wird allderdings nichts ausgeführt.
Als welchen Typ muss ich den Button im IoT Adapter anlegen? Ist hier Switch richtig?Du hast diesen Datenpunkt in der Alexa App oder über Sprachbefehl neu suchen lassen, ja ?
Wie ich weiter oben geschrieben habe, ich nutze dafür Routinen, die Du nicht möchtest.
Mir ging es nur darum das Du auch Button in iot bekommst.Ich nutze den Typ Switch. Wenn Du damit das Smartgerät direkt ansprechen willst, dann geht das auch nur mit an/aus, wobei dann beim Button über an/aus das Gleiche ausgeführt werden würde, weil Switch, deshalb eine Routine.
-
@dslraser
ok. dann werde ich wohl nicht bei den Routinen vorbeikommen.
Vielen Dank für deine Hilfe!! -
@marting sagte in ioT Adapter Button triggern ohne EIN/AUS:
@dslraser
ok. dann werde ich wohl nicht bei den Routinen vorbeikommen.
Vielen Dank für deine Hilfe!!Allerdings habe ich sowas wie SZENE_TRIGGER oder ACTIVITY_TRIGGER noch nicht probiert...
Kannst ja mal testen. -
Ich würde mich hier gern noch mal anschließen.
Ich habe folgenden DP über ein Skript anlegen lassen und lange Zeit mit Alexa und IOT genutzt.
Seit (update auf Admin 5?, update von JS?) einiger Zeit funktioniert dies nun nicht mehr.Da ich hierüber meine Lautstärke ändere kann ich nicht mit Switches arbeiten:
"Alexa, AVR Lautstärke lauter, EIN" geht mal gar nicht.Wie gesagt, vor einiger Zeit hat es wunderbar funktioniert. Nun wird der Datenpuntk (welcher in IOT aufgeführt wird) nicht mehr getriggert.
Wenn ich ihn unter den Objekten manuell trigger, funktioniert es; es liegt also am IOT Adpater.{ "common": { "name": "AVR leiser", "read": true, "write": true, "type": "boolean", "def": false, "role": "button", "smartName": { "de": "Denon leiser", "smartType": "SWITCH" } }, "native": { "name": "AVR leiser", "read": true, "write": true, "type": "boolean", "def": false, "role": "button", "smartName": "Denon leiser" }, "type": "state", "_id": "javascript.0.Eigene_Datenpunkte.WZ.AVR.Lautstaerke.leiser", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1639604365382 }
-
@sauerm
ändere mal Deinen DP auf
"read": false,
und vielleicht auch
"def": true,
Edit: funktionieren andere Befehle über iot ?
-
@dslraser danke für den Tipp. Hat leider nicht geändert
{ "common": { "name": "AVR lauter", "read": false, "write": true, "type": "boolean", "def": true, "role": "button", "smartName": { "de": "Denon lauter", "smartType": "SWITCH" } }, "native": {}, "type": "state", "_id": "javascript.0.Eigene_Datenpunkte.WZ.AVR.Lautstaerke.lauter", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1639606309989 }
Das ist beim Versuch den DP im IOT Adapter manuell hinzuzufügen kurz aufgetaucht. Vielleicht hilft das?
-
@sauerm
wieso willst Du den manuell in iot einfügen ? Der ist doch schon in iot drinn ? -
@dslraser ja, hatte ich nur mal zum testen gemacht. Hatte gehofft, dass dann eine aussagekräftige Fehlermeldung kommt.
Verstehe sonst nicht, warum IOT den Button nicht triggert -
@sauerm
ich habe zwei Routinen. (auch mit eigenen DP als Button. )Alexa, mach lauter.
Alexa, mach leiser.Zusätzlich läuft bei mir ein Blockly, welches prüft, ob die Lautstärke aktuell über meine VU oder über meinen Denon geregelt wird. Ausserdem prüft das Blockly welcher ECHO angesprochen wurde und steuert dann die Lautstärke am passenden Gerät. (Wohnzimmer/Schlafzimmer)
Funktioniert schon sehr lange so.
-
@sauerm
funktionieren andere Befehle über iot ? -
@dslraser ja schon, nur (soweit ich sagen kann sämtliche) "buttons" nicht
-
@sauerm sagte in ioT Adapter Button triggern ohne EIN/AUS:
@dslraser ja schon, nur (soweit ich sagen kann sämtliche) "buttons" nicht
wie sprichst Du die Button an ? Über eine Routine ?
Edit: Und zeig mal den Script oder Blockly welches die Lautstärke dann steuert.
-
@dslraser Hatte deine Nachricht oben übersehen.
Coole Sache mit den unterschiedlichen Zonen! 🤯Jetzt verstehe ich auch, was alle mit den Routinen meinen... Schade, dass vorher alles wunderbar mit den Buttons funktioniert hat.
Also mindestens Anfang des Jahres funktionierte es bei mir noch so:Komplett ohne Alexa Routine.
Ich konnte einfach sagen: "Alexa, Denon lauter/leiser" -
@dslraser ich habe es nun ebenfalls über Routinen gelöst. Etwas umständlicher als einfach nur automatisch einen DP im Skript zu erstellen, aber zumindest funktioniert nun wieder alles.
Danke -
@sauerm
Dein Blockly sieht okay aus. Du könntest mal testen ob der Befehl funktioniert, wenn Du an Deinen lauter Befehl mal das Wörtchen an oder aus hinten drann sagst, oder sogar mal
Alexa, schalte denon lauter an. Wenn das funktionieren sollte, dann weißt Du das der Befehl ankommt, dann stelle einfach um auf zwei Routinen, da kannst Du dann einen normalen Satz sagen. Damit Alexa nichts verwechselt nehme ich als SmartNamen im iot immer irgendetwas was sie nicht verstehen kann, z.B. 13lauter13 oder sowas, dann funktioniert die Routine immer. Wenn es ein SmartName ist, den sie auch direkt verstehen und schalten könnte, dann gibt es Probleme.
Also SmartName mach lauter und Routine mach lauter wird nicht funktionieren. -
@dslraser Ich hatte vorher mal den Button auf switch geändert und dann "Alexa Denon lauter AN" getestet. Das funktioniert dann auch (aber ist ja furchtbar
).
Wenn ich den Button über die Objekte manuell "anklicke" funktionierte es auch.
Nun hab ich es so gelöst. Ich frage mich nur warum das geändert wurde.Das Skript so wie es war (mit den automatisch erstellenten Buttons) hat ja lange Zeit funktioniert und nach einem Update (habe nicht feststellen können was genau es war, aber wohl IOT) ging es plötzlich nicht mehr. Ohne, dass ich was geändert hätte.
Habe auch schon gesehen, dass andere das gleiche Problem haben. Auch auf GitHub, dort wurde das Issue aber geschlossen, weil der Ersteller sich ebenfalls mit Routinen beholfen hat -
@dslraser Ja, das habe ich mir bei deiner Deklaration im IOT Adapter schon gedacht
Ich habe es dann ähnlich gemacht und als SmartName "AVRLautstärkeErhöhen" genommen. Das sollte ebenfalls funktionieren (das sagt hier niemand und zudem ist bei Alexa "AVR" eh "Ahver" :D)
so far funktioniert nun alles wieder.Übrigens: Bei mir erstellt der Denon Adapter zusätzlich einen Alias mit dem Atribut SET. Das in IOT eingebunden lässt die Lautstärke über Prozent ändern.
"Alexa, Denon 20%" oder "Alexa, stelle Denon auf 20" (Bei Smartname "Denon") -
@sauerm
AVR wäre dann A. V. R.
(mit Punkt und Leerzeichen erkennt Alexa auch einzelne Buchstaben, so schalte ich dann TV Sender um)