NEWS
Boolean-Wert Schiebeschalter funktioniert nicht
-
Hallo zusammen,
ich baue meine erste Oberfläche für die Steuerung meines Yamaha-Musiccast-Küchenradio.
Der Datenpunkt "power" (https://github.com/foxthefox/ioBroker.m … /README.md) soll per Schiebeschalter verändert werden können.
Ich habe nun zwei Elemente auf meiner Oberfläche:
(1) Label für den Datenpunkt
(2) hqwidgets-checkbox für den selben Datenpunkt.
Bei (1) steht entweder der Text für wahr ("on") oder falsch ("standby"). Bei der checkbox hingegen muss ich mit "true" und "false" arbeiten, da der Datenpunkt ja ein boolean ist. Damit komme ich nun nicht richtig zurecht. In folgendem Fall scheint das ganze nicht zu klappen:
Stellen wir uns vor, das Radio ist tatsächlich. Nun öffne ich die Oberfläche und der Datenpunkt gibt "on" zurück. Mit dem Wert "on" kommt aber die checkbox nicht zurecht und zeigt, dass das Radio ausgeschaltet ist.
Was muss ich tun, damit es richtig klappt?
Danke für eure Hilfe!
Viele Grüße,
Christian
-
Hallo, zeig mal deine View…......
Warum nimmst du nicht den Yamaha Musiccast Adapter?
https://github.com/foxthefox/ioBroker.musiccast
Sigi
-
Hi Sigi,
danke für deine Antwort.
Ich spreche von diesem state. Hier sieht man auch den aktuellen Status
Aktuell "standby".
Meine VIS sieht dann -korrekterweise- auch wie folgt aus:
Jetzt schalte ich das Radio ein (am Radio selbst oder per Yamaha-App).
Man sieht, wie der State auf "on" wechselt, was korrekt ist. Aber der Schieberegler bleibt bei "false", weil der Schieberegler nicht auf "standby" oder "on" eingestellt ist, sondern auf true/ false (was auch funktioniert).
Wie muss ich hier was einstellen, damit sich der Schieberegle rin Richtung "true" bewegt, obwohl die Beschreibung der Variablen "on" ist.
Danke und Gruß,
Christian
-
Aus Wert Standby?
Haken bei NUR LESEND! Auf Schreibweise achten….......
So geht es bei mir:
-
Ich verstehe nicht, was du meinst?
wieso nur lesend? Ich möchte das Radio mit dem Regler ja auch anschalten können…
Edit: Bewegt sich der Regler, wenn du das Radio am Gerät ein- und wieder ausschaltest?
-
Ok, dann Haken weg…......
-
Edit: Bewegt sich der Regler, wenn du das Radio am Gerät ein- und wieder ausschaltest?
Bei mir nicht…
-
Nein, kann nicht gehen ist ein Value Wert.
Brauchen da einen anderen DP.
-
Was ist DP?
-
Datenpunkt ( Objekt ID )
-
Komisch, geht bei mir auch nicht, aber ich nehme das Widget Basic ON/OFF zum schalten und den Yamaha Adapter.
-
Verrückt; aber das muss man doch irgendwie zum laufen bekommen. Um ehrlich zu sein, kann ich das Problem auch nicht greifen, denn:
Was für ein Typ ist denn der DP?
` > {
"from": "system.adapter.musiccast.0",
"ts": 1540474627322,
"common": {
"name": "Power ON/OFF(Standby)",
"type": "boolean",
"role": "value",
"desc": "Power ON/OFF(Standby)",
"read": true,
"write": true
},
"native": {},
"acl": {
"object": 1636,
"owner": "system.user.admin",
"ownerGroup": "system.group.administrator",
"state": 1636
},
"_id": "musiccast.0.WX-010_026D5843.main.power",
"type": "state"
} `
Für mich das definitiv ein boolean.
Dafür spricht auch das folgende Scriptschnipsel:
` > // Das funktioniert NICHT mit "on"setStateDelayed("musiccast.0.WX-010_026D5843.main.power"/Power ON/OFF(Standby)/, "on" ,false, 0, false);
// So ist es richtig; true und das Radio wird eingeschaltet
setStateDelayed("musiccast.0.WX-010_026D5843.main.power"/Power ON/OFF(Standby)/, true ,false, 0, false); `
Die Widgets führen auch ihre Funktionen mit true und false vollkommen korrekt aus. Wenn also in einem Widget true und false eingetagen sind, wird das Radio auch tatsächlich ein- bzw. ausgeschaltet.
Das Problem ist (am Beispiel): Wenn man das Radio am Gerät einschaltet, dann wird der DP nicht auf true gesetzt, sondern auf "on". Das führt dazu, dass sich der Schieberegler nicht auf true schaltet, weil das Widget auf true oder false wartet (und eben nicht auf "on").
Im Prinzip würde es reichen, wenn man die "Übersetzung" (true -> "on") ausschaltet und der DP tatsächlich true oder false anzeigt.
Aber wie könnte man das realisieren?
-
Ich habe jetzt die bulb genommen, die hat Eigenschaften "Extrasteuerung"; diese kann auf unterschedliche Werte "lauschen" und "schalten" (wenn ich es richtig verstanden habe).
Aber es funktioniert nicht. Wenn das Radio eingeschaltet ist, leuchtet die Lampe, sonst ist sie aus. Der Status wird auch immer korrekt angezeigt, also wenn das Radio ein- oder ausschalte ändert sich auch die Lampe! Super soweit.
Aber wenn ich die Lampe ausschalte im VIS, bleibt das Radio an
-
Es muss doch möglich sein, mit ioBroker ein Radio einzuschalten und den richtigen Status zu sehen, daher
schieb
Ist die Erklärung gut oder soll ich es nochmal anders versuchen?
Viele Grüße,
Christian
-
Nach langem probieren habe ich per Zufall eine Lösung gefunden:
#1
Der DP muss eine andere Rolle haben "switch.power"
#2
Kann mir einer erklären, warum ich einmal false und einmal "on" eintragen muss.
@Sigi: Kannst du das bitte mal testen? Mit diesen Einstellunge sollte sich immer alles synchronisieren.
-
Geht bei mir….
-
Super. Hast eine Erklärung dafür?
-
Nein,
aber der Adapter wird anscheinend nicht mehr aktualisiert….......