NEWS
Jarvis - steuere / aktualisiere *solved*
-
Hi zusammen,
gibt es innerhalb von Jarvis die Möglichkeit, dass ich ein Gerät, welches ich über die StateList hinzugefügt habe, unterscheiden kann, ob ein aktualisiere oder ein steuere an den entsprechenden Datenpunkt geschickt wird?Hintergrund der Frage, ich hab einen Datenpunkt, den muss ich über steuere ändern. Mir scheint dass Jarvis aber immer aktualisiere an den Datenpunkt schickt.
Mittels eines Blockly Scripts habe ich bereits getestet, dass ein aktualisiere nichts ändert, aber ein steuere genau die Aktion ausführt die ich möchte.
Grüße und Danke für eure Hilfe!
Markus -
@booosesthasnipper
Zeig mal den Datenpunkt mit den Einstellungen. Welche Version von jarvis hast du 2.1.0. Dann bitte auf 2.2.0 updaten.
https://forum.iobroker.net/topic/30668/jarvis-v2-2-0-just-another-remarkable-vis/3639 -
Adapter ist bereits auf 2.2.0.
Der Datenpunkt ist innerhalb vom Alias Aapter definiert und bezieht sich auf einen Punkt in meinem Squeezebox Adapter. Dies ist ein "Button" --> simuliere Tastendruck.
Direkt kann ich ihn nicht ansprechen, da der Adapter nicht nativ unterstützt wird, was ja auch weiterhin nicht schlimm ist.
Der Datenpunkt im Alias Adapter:
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1616869400673, "common": { "name": "STATE", "role": "media.state", "type": "boolean", "read": false, "write": true, "alias": { "id": "squeezebox.0.CCA-Büro.buttons.preset_1" } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "alias.0.EG_Büro.Squeezebox_-_Button_1.STATE", "type": "state" }
Der Datenpunkt im eigentlichen Adapter:
{ "type": "state", "common": { "name": "CCA-Büro.buttons.preset_1", "read": false, "write": true, "type": "boolean", "role": "button" }, "native": {}, "from": "system.adapter.squeezebox.0", "user": "system.user.admin", "ts": 1616863662268, "_id": "squeezebox.0.CCA-Büro.buttons.preset_1", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Read hab ich bereit mit true und false getestet, macht keinen unterschied.
Wenn ich es mit einem Blockly Script teste geht es einwandfrei, wobei es egal ist, ob ich ein true oder false schicke
setState("alias.0.EG_Büro.Squeezebox_-_Button_1.STATE"/*STATE*/, false);
Reichen diese Infos, oder soll ich noch weitere Infos liefern?
-
@booosesthasnipper sagte in Jarvis - steuere / aktualisiere:
setState("alias.0.EG_Büro.Squeezebox_-_Button_1.STATE"/STATE/, false);
So?
setState("alias.0.EG_Büro.Squeezebox_-_Button_1.STATE"/*STATE*/, false, true);
-
@mcu
Nein das geht nicht, entwedersetState("alias.0.EG_Büro.Squeezebox_-_Button_1.STATE"/*STATE*/, false);
oder
setState("alias.0.EG_Büro.Squeezebox_-_Button_1.STATE"/*STATE*/, true);
oder aber auch
setState("alias.0.EG_Büro.Squeezebox_-_Button_2.STATE"/*STATE*/, true, false);
-
@booosesthasnipper Ist das bei allen Alias Werten so? oder nur bei Büro
Zeig mal den Alias-Objektbaum
Nur den Wert nehmen:alias.0.EG_Büro.Squeezebox_-_Button_2
-> alias.0.WOHNZIMMER.Sideboard.SET
setState("alias.0.WOHNZIMMER.Sideboard.SET",true,true); setState("alias.0.WOHNZIMMER.Sideboard.SET",true); müsste auch funktionieren
-
@mcu
puh du bist aber schnellAlso was ich machen möchte:
Das ein und aussschalten geht bereits ohne Probleme, genauso die Lautstärkeregelung:
Der Objektbaum zu den drei Devices sieht so aus:
-
@booosesthasnipper Welcher Datenpunkt hängt dahinter? Kannst du den nicht direkt ansprechen?
alias.0.EG_Büro.Squeezebox_-_Button_2.STATEDer Media.State ist schreibgeschützt den kann man nur lesen und nicht schreiben!
-
Was ich auswählen möchte sind die Verschiedenen Buttons bei preset_1 bis preset_6, aktuall habe ich zum testen nur 1 und 2 eingebunden über den Alias Adapter.
Direkt die Geräte im Jarvis kann ich nicht importieren, oder geht das über einen anderen Weg? Bisher importiere ich die Geräte über den Alias Adapter und kann sie über die StateListe einfügen.
-
@mcu Bei dir steht doch media.state????
-
@booosesthasnipper Klar kann man die in jarvis anlegen.
mit dem Schraubenschlüssel auswählen -
@mcu sagte in Jarvis - steuere / aktualisiere:
Der Media.State ist schreibgeschützt den kann man nur lesen und nicht schreiben!
Das verstehe ich nicht ganz, bei den Einstellungen steht doch write auf true ?
Ich hab den State auch mal auf Button und andere Dinge geändert im Alias Adapter, keine Chance, geht leider nicht.
Hab nun das Gerät manuell angelegt und nun geht es damit:Wo ist den nun der Unterschied zwischen dem Alias Datenpunkt und dem eigentlichen Datenpunkt?
Mit Blockly Scripten macht es keinen Unterschied welchen Datenpunkt ich verwende. -
@booosesthasnipper Müsste man im Detail klären, aber Hauptsache es funktioniert jetzt.
-
Oh man(n) ich hab den Fehler gefunden:
Ich hatte beim Importierten Gerät (über den Alias) im Jarvis den Datenpunkt (Anzeige) gesetzt gehabt, aber nicht beim Datenpunkt (Trigger).
Trage ich dort das gleiche ein, geht es! Danke für die Hilfe! Wenn ich das Gerät im Jarvis natürlich nur halb anlege, geht es natürlich nicht.Also kein Bug oder sowas, sondern ein Layer 8 Problem
@MCU
vielen dank für deine Hilfe!