NEWS
[gelöst] denon.0.zoneMain.selectInput schalten
-
Ich möchte gern über ein Blockly den Eingang meine Denon Verstärker schalten. Er soll entweder auf SAT/CBL oder MPLAY(FireTvStick) schalten. Abhängig, ob meine Vu+ im Standby oder an ist.
Versucht habe ich das über den Datenpunkt direkt von Denon (denon.0.zoneMain.selectInput) und vom Datenpunkt alias (alias.0.Wohnzimmer.Denon.selectInput).
Trigger ist mein Sony-TV ( state)
Ich denke das mit dem "Test" Teil ist so nicht Richtig
Ich habe das ganze auch mal testweise nur über eine Lampe als Trigger getestet. Geht so auch nicht
Datenpunkt von denon.0.zoneMain.selectInput
{ "type": "state", "common": { "name": "Select input", "role": "media.input", "type": "string", "write": true, "read": true, "states": { "0": "PHONO", "1": "CD", "2": "TUNER", "3": "DVD", "4": "BD", "5": "TV", "6": "SAT/CBL", "7": "MPLAY", "8": "GAME", "9": "NET", "10": "SPOTIFY", "11": "LASTFM", "12": "IRADIO", "13": "SERVER", "14": "FAVORITES", "15": "AUX1", "16": "AUX2", "17": "AUX3", "18": "AUX4", "19": "AUX5", "20": "AUX6", "21": "AUX7", "22": "BT", "23": "USB" }, "custom": { "iot.0": { "smartName": false } } }, "native": {}, "_id": "denon.0.zoneMain.selectInput", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1637605409431 }
Edit: Hat sich erledigt. Es muss die Zahl rein nicht der Name
"6": "SAT/CBL", "7": "MPLAY",
-
-
Danke. So wäre es ein Blockly weniger
Habe das jetzt so umgesetzt wie im Bild
Kann man eigentlich auch 2 Datenpunkte unter 0_userdata.0 dazu anlegen?
Das der eine Datenpunkt
"6": "SAT/CBL"
als Button schalten un der Andere
"7": "MPLAY"
schalten
So brauch ich kein Blockly und könnte das unter iot-Adapter als Gerät unter Alex einrichten
-
@emil70 sagte in denon.0.zoneMain.selectInput schalten:
Danke. So wäre es ein Blockly weniger
Habe das jetzt so umgesetzt wie im Bild
Du hast die Blöcke hier immernoch falsch verschachtelt. Schau dir das noch mal genau an.
Ist "Receiver in Standby" ein selbst erstellter Datenpunkt ?Kann man eigentlich auch 2 Datenpunkte unter 0_userdata.0 dazu anlegen?
Das der eine Datenpunkt
"6": "SAT/CBL"
als Button schalten un der Andere
"7": "MPLAY"
schalten
Klar Datenpunkte anlegen kannst du so viel du möchtest.
So brauch ich kein Blockly und könnte das unter iot-Adapter als Gerät unter Alex einrichten
Ein Script wirst du ja trotzdem brauchen um auf die Änderung dieser Datenpunkte zu reagieren, bringt also eher nichts, dir separate Datenpunkte anzulegen, es sei denn du möchtest ZUSÄTZLICH mit Alexa die Eingänge steuern können.
-
Hatte es angepasst
es sei denn du möchtest ZUSÄTZLICH mit Alexa die Eingänge steuern können.
So war es gedacht.
Habe das nur noch nicht verstanden mit den Datenpunkten anlegen.
Kannst du mir anhand meiner Sachen mir das mal zeigen?
-
Markiere das Verzeichnis "0" im Ordner "0_userdata".
IMMER von da ausgehen erstellst du Datenpunkte oder Unterorner, dazu auf das + oben, denk daran das der ordner "0" markiert ist während du + drückst, dann erstellst du dir am besten erstmal ein Unterverzeichnis.
Anschließend machst du das selbe wieder, von dem Ordner "0" ausgehend, und machst diesmal einen Datenpunkt, etwa so:
Verzeichnisse werden immer mit einem "." getrennt, oben im Fenster zeigt er dir dann auch genau an wo dein Datenpunkt ist.
Hoffe man kann es einigermaßen verstehen
-
Danke, habe ich verstanden und ausgeführt
Aber wie bekomme ich da jetzt in die Datenpunkte die Befehle rein, das beim Denon der Sat-Eingang und beim Anderen der FireTvStick geschaltet wird.
Da muss doch irgendwie verknüpft werden oder so
FireTvStick
{ "common": { "name": "Denon.FireTvStick", "desc": "Manuell erzeugt", "role": "state", "type": "boolean", "read": true, "write": true, "def": false }, "type": "state", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1637688808962, "_id": "0_userdata.0.Denon.FireTvStick", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Sat
{ "common": { "name": "Denon.Sat", "desc": "Manuell erzeugt", "role": "state", "type": "boolean", "read": true, "write": true, "def": false }, "type": "state", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1637688856087, "_id": "0_userdata.0.Denon.Sat", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
-
Super, die Datenpunkte kannst ja jetzt in iot einbinden,
und mit nem einfachen Blockly script verstellst du den Eingang in Denon:Du solltest auf aktualisieren triggern, damit du immer wieder true senden kannst. Sonst müsstest den Datenpunkt jedes mal wieder auf false stellen, und auf Änderung zu triggern.
So kannst immer wieder true senden zum triggernAber Achtung: Der Trigger wird dann auch bei false ausgelöst, wenn du die Datenpunkt aus irgendeinem Grund umstellen möchtest, dann lieber doch auf geändert triggern, und ne abfrage auf true vor dem steuern.
-
@cinimod sagte in denon.0.zoneMain.selectInput schalten:
Super, die Datenpunkte kannst ja jetzt in iot einbinden,
und mit nem einfachen Blockly script verstellst du den Eingang in Denon:Du solltest auf aktualisieren triggern, damit du immer wieder true senden kannst. Sonst müsstest den Datenpunkt jedes mal wieder auf false stellen, und auf Änderung zu triggern.
So kannst immer wieder true senden zum triggernAber Achtung: Der Trigger wird dann auch bei false ausgelöst, wenn du die Datenpunkt aus irgendeinem Grund umstellen möchtest, dann lieber doch auf geändert triggern, und ne abfrage auf true vor dem steuern.
Ok, habe ich auch verstanden,denk ich
Bei default kommt jeweils mein erstellter Datenpunkt rein und bei Objekt ID kommt der vom Denon rein.
Ich dachte bis jetzt immer, das man so etwas direkt in die Objektdaten des Datenpunkt mit reinschreibt um kein Blockly zu brauchen
-
@emil70
ja genau wie du sagst !Ich glaube das geht auch mit Alias, aber da kenne ich mich nicht so aus.
-
bei iot bekomme ich eine Fehlermeldung
Der Datenpunkt hat sich auch verändert
{ "common": { "name": "Denon.FireTvStick", "desc": "Manuell erzeugt", "role": "button", "type": "boolean", "read": true, "write": true, "def": false, "custom": { "iot.0": { "smartName": { "de": "Denon FireTvStick" } } } }, "type": "state", "_id": "0_userdata.0.Denon.FireTvStick", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1637697859020 }
Blockly ist angelegt und funktioniert
Habe ```
"role": "state",in
"role": "button",
-
füg das mal eine "native" zeile in deinen Datenpunkt ein ... so wie es hier im Beispiel ist, dann nimmt iot den Datenpunkt:
-
@Cinimod
Gleiche FehlermeldungSo sieht es jetzt aus
{ "common": { "name": "Denon.FireTvStick", "native": {}, "desc": "Manuell erzeugt", "role": "button", "type": "boolean", "read": true, "write": true, "def": false, "custom": { "iot.0": { "smartName": { "de": "Denon FireTvStick" } } } }, "type": "state", "_id": "0_userdata.0.Denon.FireTvStick", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1637703669304 }
-
So geht es
{ "common": { "name": "Denon.Sat", "desc": "Manuell erzeugt", "role": "button", "type": "boolean", "read": true, "write": true, "def": false, "custom": { "iot.0": { "smartName": { "de": "Denon Sat" } } } }, "type": "state", "_id": "0_userdata.0.Denon.Sat", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1637703857333 }
Danke dir
Wofür ist der da?
-
Ich kann es dir leider auch nicht genau sagen, vor ner weile war diese Zeile noch Bestandteil jedes Datenpunktes. Iot versucht halt den bereich native zu lesen, wenn er aber nicht da ist meckert er, nun ist er zwar leer, aber da
-
@cinimod sagte in denon.0.zoneMain.selectInput schalten:
Super, die Datenpunkte kannst ja jetzt in iot einbinden,
und mit nem einfachen Blockly script verstellst du den Eingang in Denon:Du solltest auf aktualisieren triggern, damit du immer wieder true senden kannst. Sonst müsstest den Datenpunkt jedes mal wieder auf false stellen, und auf Änderung zu triggern.
So kannst immer wieder true senden zum triggernAber Achtung: Der Trigger wird dann auch bei false ausgelöst, wenn du die Datenpunkt aus irgendeinem Grund umstellen möchtest, dann lieber doch auf geändert triggern, und ne abfrage auf true vor dem steuern.
Ich mus hier noch einmal nachfragen
Habe mein script jetzt so abgeändert.
und
Da ich gerne über einen Datenpunkt meine TV über Alexa und VIS ein und ausschalten kann
Einschalten geht über Alexa,ausschalten nicht. Da kommt die Meldung Server reagiert nicht.
Einschalten und ausschalten über VIS geht auch. Es wird immer nur der Datenpunkt "Denon.Sat" auf true oder false gesetzt
Was ist hier vielleicht jetzt falsch, das es über iot nur eingeschaltet wird und nicht aus??
-
Ist Denon.Sat ein selbst erstellter Datenpunkt? Schau mal nach ob der typ "boolean" ist.
Am Script liegt es jedenfalls nicht, da greift Alexa ja garnicht rein.
-
@cinimod sagte in denon.0.zoneMain.selectInput schalten:
Ist Denon.Sat ein selbst erstellter Datenpunkt? Schau mal nach ob der typ "boolean" ist.
Am Script liegt es jedenfalls nicht, da greift Alexa ja garnicht rein.
Ja ist er . Du hattest mir da ja in diesem Thread bei geholfen
So sieht der Datenpunkt aus
{ "common": { "name": "Denon.Sat", "desc": "Manuell erzeugt", "role": "button", "type": "boolean", "read": true, "write": true, "def": false, "custom": { "iot.0": { "smartName": { "de": "Fernseher", "smartType": "SWITCH" } } } }, "type": "state", "_id": "0_userdata.0.Denon.Sat", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1645727216200 }
-
Verstell mal "role" auf "state", und teste mal.
-
Fehler gefunden
nach iot Änderung und scriptänderung hätte ich in der Alexa unter "Smart Home->Geräte" das Gerät "Fernseher" löschen und neu angelegen sollen.
Dachte das brauch ich nicht, könnte das Alte drin lassen
Edit: Sieht jetzt so aus für Fernseher und FireTvStick