Multistate button wird nicht richtig geladen

Begonnen von haloboy, 29 November 2019, 17:04:51

Vorheriges Thema - Nächstes Thema

haloboy

Hallo ich habe folgenden switch

  <div data-type="switch" data-device="BR_4FC240_Clima"
          data-set-states='["controlMode boost","controlMode auto","controlManu off"]'
          data-states='["controlManu off","controlMode boost","controlMode auto"]'
          data-icons='["fs-sani_heating_level_0","fs-sani_heating_boost","oa-sani_heating_automatic"]'
          data-background-colors='["blue","red","#004d00"]'
          data-colors='["white","white","white"]'
          data-background-icon="fa-square" ></div>


Leider ist immer beim laden der Seite das Glühbirnen Symbol zu sehen. Man muss immer erst einmal auf das Icon klicken um dann den state zu bekommen. WIe kann ich das denn ändern?

Viele Grüße
Benjamin

hollyghost

Hallo Benjamin!
Kann es sein, dass du bei deinen data-States  einen Schreibfehler hast - ich denke der erste Eintrag sollte auch ,controlMode' lauten und nicht ,controlManu'

Zitat von: haloboy am 29 November 2019, 17:04:51
:
:
 
          data-states='["controlManu off","controlMode boost","controlMode auto"]'
   

:
:



Gesendet von iPhone mit Tapatalk

Prof. Dr. Peter Henning

Zitatich denke der erste Eintrag sollte auch ,controlMode' lauten und nicht ,controlManu'
Bitte keine Fehlinformationen verbreiten.

LG

pah

hollyghost

#3
Mea culpa pah!
Ich wollte nicht in die Irre führen - man soll einfach nicht unkonzentriert Antworten geben.

Benjamin, ich habe mir deine Definition noch mal angeschaut.

Zitat von: haloboy am 29 November 2019, 17:04:51
  <div data-type="switch" data-device="BR_4FC240_Clima"
          data-set-states='["controlMode boost","controlMode auto","controlManu off"]'
          data-states='["controlManu off","controlMode boost","controlMode auto"]'
          data-icons='["fs-sani_heating_level_0","fs-sani_heating_boost","oa-sani_heating_automatic"]'
          data-background-colors='["blue","red","#004d00"]'
          data-colors='["white","white","white"]'
          data-background-icon="fa-square" ></div>


Die Angabe von Reading und Wert innerhalb von data-set-states und data-states wird nach meinem Kentnisstand so wohl nicht funktionieren.
Da du den Status deines Knopfes nicht aus dem State deines devices ziehst, bin ich der Meinung, da fehlt noch ein

data-get = "controlMode"
date-set = "controlMode"


und im Ganzen dann:

  <div data-type="switch" data-device="BR_4FC240_Clima"
          data-get = "controlMode"
          date-set = "controlMode"
          data-set-states='["boost","auto","off"]'
          data-states='["off","boost","auto"]'
          data-icons='["fs-sani_heating_level_0","fs-sani_heating_boost","oa-sani_heating_automatic"]'
          data-background-colors='["blue","red","#004d00"]'
          data-colors='["white","white","white"]'
          data-background-icon="fa-square" ></div>


Ich hoffe, dass ich nicht noch was übersehen hab  :o

Grüße
Holger

haloboy

Hi erstmal vielen Dank für die Hilfe

aber leider ist das auch nicht der Fall. Die commands stimmen schon. Es handelt sich um einen homatic Heizkörperthermostat Model=HM-CC-RT-DN. Dieser hat einmal den status ControlMode und controlManu. ControlMode hat boost und auto und control manu hat status off. daher brauch ich alle drei. Will nämlich entweder die heizung auf off stellen, oder auf auto mit einer templist, oder auf boost wenn es warm werden soll auf boost. Die commands passen nur beim laden wird halt immer erst die lithbulb angezeigt

OdfFhem

@haloboy

1) Da Du kein data-get angibst, basiert die Wertdarstellung auf STATE.
2) Die von Dir verwendeten Werte in data-states passen (mit hoher Wahrscheinlichkeit) nicht zu STATE.

Folglich müssten folgende Anpassungen vorgenommen werden:
1) data-get muss angegeben werden und kann nur einen Bezugspunkt haben; für Deinen Anwendungsfall beispielsweise:

  data-get="controlMode"

2) data-states muss die zum Bezugspunkt passenden Werte verwenden und könnte in etwa so aussehen:

  data-states='["manual","auto","boost"]'

Anzumerken ist, dass es hier noch day und night als Modus gibt. Desweiteren gibt es auch noch Übergangswerte (z.B. set_auto, set_manual); dies liegt daran, dass der neue Modus nicht sofort, sondern erst mit der nächsten Übertragung zum Thermostat aktiviert wird. Diese Übergangswerte kann man nutzen, um z.B. mit einem blinkenden Icon anzuzeigen, dass die Umschaltung "noch in Arbeit" ist ...
3) data-set-states könnte im konstruierten Beispiel folgendermaßen aussehen:

  data-set-states='["controlMode auto","controlMode boost","controlMode manual"]'


haloboy

Super erstmal vielen Dank

sieht jetzt so aus

<div data-type="switch" data-device="BR_4FC240_Clima"
          data-states='["boost","set_boost","auto","set_auto","manual","set_manual"]'
          data-set-states='["controlMode auto","","controlMode boost","","controlMode manual",""]'
    data-get = "controlMode"
          date-set = "controlMode"
  data-icons='["fs-sani_heating_boost","fs-sani_heating_boost blink","oa-sani_heating_automatic","oa-sani_heating_automatic blink" ,"fs-sani_heating_level_0","fs-sani_heating_level_0 blink"]'
          data-background-colors='["red","red","blue","blue", "grey", "grey"]'
          data-colors='["white","white","white","white","white","white"]'

          data-background-icon="fa-square" ></div>


klappt schon mal ganz gut.

So jetzt würde ich aber gerne noch bei manual automatisch die desired_temp auf off stellen. Wie kann ich das denn machen?

Wenn es jetzt  blinkt, dann kann ich nicht mehr auf das Icon klicken, weil kein set-state gesetzt wird, heißt ich muss warten bis zum nächsten Sendinterval. Wie kann ich das denn umgehen?

Gibt es auch die Möglichkeit ein mal Switch drücken und dabei dann mehrere Commands zu senden? Wird das dann mit 'data-cmd' gemacht? wenn ja wie würde dann ein Beispiel aussehen. Kann man überhaupt bei dem Heizungsthermostat zwei Befehle auf einmal schicken? also zum beispiel desired_temp und burstXmit.

Vielen Dank.

Prof. Dr. Peter Henning

#7
Wie wäre es denn damit, einmal die Anleitung zum Switch Widget zu lesen?
Da ist alles erklärt.

Tipp: Erst mal verstehen, was burstXmit eigentlich bedeutet.

Und noch ein Tipp: In der Datenverarbeitung geschieht (in der Regel) nichts "auf einmal".

LG

pah

Und noch ein dritter Tipp: Noch mal auf Schreibfehler prüfen. Dann funktioniert es auch endlich ...