Status vom Switch Widget bei Enocen Schaltern?

Begonnen von Stonemuc, 18 Januar 2020, 20:48:12

Vorheriges Thema - Nächstes Thema

Stonemuc

Nachdem ich mich endlich mal dran gemacht habe das FTUI in Betrieb zu nehmen, habe ich eine Frage zur Anzeigen vom Status des Switch Widgets.
Eventuell hat ja hier jemand Erfahrungen mit FTUI und Enocean.
Ich bekomme auf dem Tablet den Status des Switch Widgests aus FEHM nicht angezeigt - bedeutet auf dem Tablet sind alle Lampen erstmal aus.
Ich hab mich mal versucht mit data-get-on und data-get-off, aber das hilft nichts.
Auf welchen Wert bezieht sich das data-get-*? Auf den internal state oder auf das Reading?


Hier mal das List von der Hängelampe:
Internals:
   DEF        FFD1DD06
   FUUID      5c51c5c5-f33f-6467-3948-3edd223495b94d28
   IODev      TCM_ESP3_0
   LASTInputDev TCM_ESP3_0
   MSGCNT     16
   NAME       Licht_Wohnen_Haengelampe
   NR         217
   NTFY_ORDER 50-Licht_Wohnen_Haengelampe
   STATE      Aus
   TCM_ESP3_0_DestinationID FFFFFFFF
   TCM_ESP3_0_MSGCNT 16
   TCM_ESP3_0_PacketType 1
   TCM_ESP3_0_RSSI -67
   TCM_ESP3_0_ReceivingQuality excellent
   TCM_ESP3_0_RepeatingCounter 0
   TCM_ESP3_0_SubTelNum 3
   TCM_ESP3_0_TIME 2020-01-18 19:13:44
   TYPE       EnOcean
   READINGS:
     2020-01-18 19:13:41   block           unlock
     2020-01-18 19:13:44   state           off
   helper:
Attributes:
   IODev      TCM_ESP3_0
   alexaName  Hängelampe
   alexaRoom  alexa
   alias      Licht_Wohnen_Hängelampe
   comMode    confirm
   devChannel 255
   eep        A5-38-08
   eventMap   on:An off:Aus
   fp_Erdgeschoss 129,125,0,Licht_Wohnen_Haengelampe,
   genericDeviceType switch
   group      Wohnen/Küche
   gwCmd      switching
   manufID    00D
   room       EnOcean,alexa
   subDef     FF9E6D8D
   subType    gateway
   webCmd     An:Aus


und hier mal mein Auszug aus meinem TabletUI-Html:

<div class="cell">
                         <div data-type="switch" data-device="Licht_Wohnen_Haengelampe" data-icon="fa-lightbulb-o" data-get-on="on" data-get-off="off"></div>
<div data-type="label" class="darker bottom-space">H&auml;ngelampe</div>
</div>
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

amenomade

Entweder data-get="state" dazu
oder data-get-on="An" data-get-off="Aus"

Weil STATE meldet durch dein eventMap nicht on oder off sondern An oder Aus.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Stonemuc

<div class="cell">
                         <div data-type="switch" data-device="Licht_Wohnen_Haengelampe" data-icon="fa-lightbulb-o" data-get="state"></div>
<div data-type="label" class="darker bottom-space">H&auml;ngelampe</div>
</div>


So wäre es ausreichend?
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

OdfFhem

@Stonemuc

Kennst Du https://wiki.fhem.de/wiki/FTUI_Widget_Switch?

data-type="label" macht eigentlich keinen Sinn, wenn kein Device-Wert ausgegeben wird; ein div ohne data-type reicht in einem solchen Fall vollkommen aus.

Stonemuc

#4
Zitat von: OdfFhem am 18 Januar 2020, 22:42:25
@Stonemuc

Kennst Du https://wiki.fhem.de/wiki/FTUI_Widget_Switch?

data-type="label" macht eigentlich keinen Sinn, wenn kein Device-Wert ausgegeben wird; ein div ohne data-type reicht in einem solchen Fall vollkommen aus.

Vielen Dank für den Hinweis, das werde ich ändern. (Habe ich aber so im FTUI von Hausautomatiesierung.com gelernt) Aber es beantwortet meine ursprüngliche Frage nicht.
Und ja, ich kenne die Wiki Seite - da steht allerdings nichts davon data-get="state"

Würde das reichen um den richtigen Status der Schalters anzuzeigen? Ansonsten muss ich on mit An und off mit Aus ersetzen....
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

amenomade

Zitat von: Stonemuc am 19 Januar 2020, 00:27:25
Würde das reichen um den richtigen Status der Schalters anzuzeigen? Ansonsten muss ich on mit An und off mit Aus ersetzen....
Ja. Aber warum probierst Du nicht?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Stonemuc

Weil ich in der Arbeit sitze und versuche meine Fehler auszubessern, so dass ich sie morgen früh daheim einspielen kann. Ich kann von hier keine neuen "Versionen" auf meinen Raspi aufspielen. Deshalb die Frage....
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Stonemuc

Mit   data-get="state"    funktioniert es übrigens wunderbar mit Lampen und sontigem was auf On/Off oder An/Aus reagiert.

Wenn ich allerdings ein Circlemenu mit 4 "Switches" habe, funktioniert das nicht. Ich habe es jetzt mit data-get-on und data-get-off versucht, srje allerdings den aktuellen Zustand nicht farblich markiert. Wo liegt mein Fehler? Das getriggerte Device ist ein dummy mit den Werten 0,1,2,3 oder offFor60min.

div data-type="circlemenu" data-circle-radius="100">
                                <ul>
                                    <li><div data-type="push" data-icon="oa-vent_ventilation_control"></div></li>
                                    <li><div data-type="push" data-device="FanSelectorDay" data-cmd="set" data-set-on="0" data-get-on="0" data-get-off="!0" data-off-background-color="##99999e" data-off-color="##99999e" data-icon="oa-vent_ventilation_level_0"></div></li>
                                    <li><div data-type="push" data-device="FanSelectorDay" data-cmd="set" data-set-on="1" data-get-on="1" data-get-off="!1" data-off-background-color="##99999e" data-off-color="##99999e" data-icon="oa-vent_ventilation_level_1"></div></li>
                                    <li><div data-type="push" data-device="FanSelectorDay" data-cmd="set" data-set-on="2" data-get-on="2" data-get-off="!2" data-off-background-color="##99999e" data-off-color="##99999e" data-icon="oa-vent_ventilation_level_2"></div></li>
    <li><div data-type="push" data-device="FanSelectorDay" data-cmd="set" data-set-on="3" data-get-on="3" data-get-off="!3" data-off-background-color="##99999e" data-off-color="##99999e" data-icon="oa-vent_ventilation_level_3"></div></li>
    <li><div data-type="push" data-device="FanSelectorDay" data-cmd="set" data-set-on="offFor60min" data-get-on="offFor60min" data-get-off="!offFor60min" data-off-background-color="##99999e" data-off-color="##99999e" data-icon="oa-vent_ventilation_level_manual_m"></div></li>
                              </ul>
                            </div>

FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

amenomade

"list" von FanSelectorDay bitte

Hast Du im wiki gelesen? https://wiki.fhem.de/wiki/FTUI_Widget_Switch
Dort steht welche Attribute gesetzt werden müssen, und welchen Standard-Wert die nehmen, wenn sie nicht definiert sind.

data-get = Reading, dessen Inhalt den aktuellen Wert wiedergibt, StandardWert STATE
data-get-on = Zeichenkette oder ein Array von Werten, die als Zustand ON interpretiert werden, StandardWert "on"

data-cmd="set" ist deswegen überflüssig: set ist der Standard-Wert.

Wenn dein Device irgendwie anders arbeitet, musst Du dieses Attribute entsprechend definieren.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Stonemuc

Internals:
   FUUID      5c51c5c4-f33f-6467-3887-335ddf463815474c
   NAME       FanSelectorDay
   NR         97
   STATE      1
   TYPE       dummy
   READINGS:
     2020-01-20 22:47:47   state           1
Attributes:
   alexaName  Lufttag
   devStateIcon 0:vent_ventilation_level_0 1:vent_ventilation_level_1 2:vent_ventilation_level_2 3:vent_ventilation_level_3
   fp_Erdgeschoss 419,626,2,FanSelectorDay,
   genericDeviceType media
   group      THZ
   homebridgeMapping ChannelController:reading=state,cmd=state
   room       Heizung,alexa
   setList    0 1 2 3 offFor60min
   webCmd     0:1:2:3:offFor60min
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Stonemuc

Hat noch jemand eine Idee? Es funktioniert einfach nicht. Oder habe ich einen Denkfehler?
State und STATE vom device sind jeweils die oberen Werte 0,1,2,3 oder offFor60min

FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

amenomade

#11
Erstens: wiki liefert ein Teil der Lösung

Attribut      Beschreibung                                                                                 Standard-Wert
data-get      Reading, dessen Inhalt zur Zustandsanzeige (ON/OFF) wird       keiner (muss explizit angegeben werden)

Also: data-get="state" noch eingeben.

Zweitens: Circlemenu aktualisiert nicht den Zustand der anderen "Sub-buttons" (diejenige, die Du nicht betätigt hast). Erst nach reload der Seite wird es gezeigt.
Empfehlung wäre, den Zustand auf dem circlemenu Icon selbst darzustellen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#12
Etwas in der Art:
<div data-type="circlemenu" data-circle-radius="100" class="circlemenu">
<ul>                                   
<li>
<div data-type="symbol"
data-device="FanSelectorDay"
data-get-on='["0", "1", "2", "3", "offFor60min"]'
data-icons='["oa-vent_ventilation_level_0", "oa-vent_ventilation_level_1", "oa-vent_ventilation_level_2", "oa-vent_ventilation_level_3", "oa-vent_ventilation_level_manual_m"]'
data-colors='["grey", "green", "orange", "red", "grey"]'>
</div>
</li>
                <li>
<div data-type="push"
data-device="FanSelectorDay"
data-set-on="0"
data-icon="oa-vent_ventilation_level_0">
</div>
</li>
                <li>
<div data-type="push"
data-device="FanSelectorDay"
data-set-on="1"
data-icon="oa-vent_ventilation_level_1">
</div>
</li>
                <li>
<div data-type="push"
data-device="FanSelectorDay"
data-set-on="2"
data-icon="oa-vent_ventilation_level_2">
</div>
</li>
<li>
<div data-type="push"
data-device="FanSelectorDay"
data-set-on="3"
data-icon="oa-vent_ventilation_level_3">
</div>
</li>
<li>
<div data-type="push"
data-device="FanSelectorDay"
data-set-on="offFor60min"
data-icon="oa-vent_ventilation_level_manual_m">
</div>
</li>
</ul>
</div>
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Stonemuc

Zitat von: amenomade am 23 Januar 2020, 20:47:00
Erstens: wiki liefert ein Teil der Lösung

Attribut      Beschreibung                                                                                 Standard-Wert
data-get      Reading, dessen Inhalt zur Zustandsanzeige (ON/OFF) wird       keiner (muss explizit angegeben werden)

Also: data-get="state" noch eingeben.

Zweitens: Circlemenu aktualisiert nicht den Zustand der anderen "Sub-buttons" (diejenige, die Du nicht betätigt hast). Erst nach reload der Seite wird es gezeigt.
Empfehlung wäre, den Zustand auf dem circlemenu Icon selbst darzustellen.

Danke....ich hab es mittlerweile selbst gefunden, dass data-get"STATE" gefehlt hat. Ich habe immer im Switch-Widget-Wiki geschaut, da steht nämlich, dass STATE der Standartwert ist. Deshalb hatte ich es anfangs weggelassen.
Da es sich aber um das Push-Widget handelt, habe ich dann mal dort nachgeschaut und da ist es nämlich kein Standartwert und muss explizit angegeben werden.

Vielen Dank für den Tip mit deiner Lösung - ich probier das mal aus...
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe