Tablet UI Elemente verknüpfen

Begonnen von timbeau, 02 Oktober 2018, 12:20:18

Vorheriges Thema - Nächstes Thema

timbeau

Hallo zusammen,

ich habe wahrscheinlich ein Brett vorm Kopf und mir fehlt sicherlich einiges an Grundlagen.

Ich verstehe gerade nicht, wie ich TabletUI Elemente, konkret Switche miteinander verknüpfen kann.

Ich habe wie im Bild zu sehen, z.b. 4 Switche für Lampen. Und einen "Push" Button, der alle Lampen ausschaltet, das funktioniert. Das Ding ist, das bekommen die Switche in der GUI nicht mit und bleiben weiter auf "On".

Die "Lampen" sind Funksteckdosen die ich als "Kaku_Switch" definiert habe.

Frage: Wie kann ich die 4 Switche auf "off" setzen, wenn ich den "Push" Button "Lampen aus" drücke?

Welche Informationen bneötigt ihr noch von mir?

Danke und VG
Tim



SirMarco


timbeau

Damit ich nicht falsch verstanden werde, die Funktionalität ist vorhanden. Sprich, alle Steckdosen schalten richtig. Nur die Tablet UI Anzeige spiegelt den Zustand nicht mehr wieder. Ähnlich, wie wenn ich mit einer anderen Fernbedienung die Steckdosen schalten würde, anstatt über die TabeltUI.

Die Steckdosen geben ja kein Zustandssignal wieder.

Das könnte ich mit Structure lösen?

SirMarco

Sorry, dann habe ich das falsch verstanden.

Poste doch mal deinen Code dazu

timbeau

Hi,

da ich neu bin, welchen Code brauchst du? Die Define Anweisungen? Oder die HTML Seiten?

eki

Wenn ich Dich richtig verstanden habe, dann hast Du 4 FHEM Devices (Lampen), die Du in FHEM über ein "alle aus" Device in FHEM über das Du die 4 devices ausschalten kannst. Das funktioniert in FHEM aktuell schon.

Falls das so ist, dann musst Du nur die 4 FTUI Switches richtig mit den FHEM Devices verknüpfen (data-device, data-get und data-set (falls Du nicht die Standard States wie on/off... verwendest (in diesem Fall dann auch noch data-get-on, data-get-off, data-set-on, data-set-off))).

Falls das alles richtig verknüpft ist, sollte FTUI genau das spiegeln, was FHEM macht.

Um da genauer rein zu schauen, müsstest Du mal den Status Deiner FHEM Devices (Ergebnis von "list <device>" in FHEM Kommandozeile) und die Definition Deines FTUI (html Datei mit den data-type="switch" Teilen) hier posten.

moonsorrox

am besten geht das in Fhem ein DOIF erstellen welches alle Lampen ausschaltet, mit dem FTUI Push Button "Lampen aus" dann das DOIF nutzen...!
Aber ohne Code hier ist das alles schlecht zu erklären. Zeig doch mal was du schon gebaut hast...
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

rabehd

ZitatSprich, alle Steckdosen schalten richtig. Nur die Tablet UI Anzeige spiegelt den Zustand nicht mehr wieder. Ähnlich, wie wenn ich mit einer anderen Fernbedienung die Steckdosen schalten würde, anstatt über die TabeltUI.

Die Steckdosen geben ja kein Zustandssignal wieder.

Klingt für mich als ob die Lampen-Device das Ausschalten per "Button" gar nicht bemerken.

Also mehr Info.
Auch funktionierende Lösungen kann man hinterfragen.

timbeau

Hi, danke für die vielen Vorschläge.

Mein UI Push Element
<li data-row="2" data-col="1" data-sizex="1" data-sizey="1">
<header><div data-type="label" class="large">Lampen aus</div></header>
<div class="cell">
<div
data-type="push"
data-device="Lampen_WZ"
data-set-on="on"
data-set-off="aus"
class="big">
</div>
</li>


Das Device:
Internals:
   NAME       Lampen_WZ
   NR         46
   STATE      aus
   TYPE       dummy
   READINGS:
     2018-09-24 15:33:25   state           off
Attributes:
   devStateIcon an:on:off aus:off:on
   eventMap   on:an off:aus
   room       Wohnzimmer


Eine Lampe:
div data-type="switch"
data-icon="mi-lightbulb_outline"
data-device="LED_WZ_Decke"
data-get-on="on"
data-get-off="off"
class="big">
</div>


Das passende Device:
Internals:
   DEF        kaku_switch 24286894 0
   ID         24286894
   IODev      pilight_control
   NAME       LED_WZ_Decke
   NR         33
   PROTOCOL   kaku_switch
   STATE      defined
   SYSCODE   
   TYPE       pilight_switch
   UNIT       0
Attributes:
   IODev      pilight_control
   group      Lampen_WZ,Steckdosen
   room       Wohnzimmer


Dann habe ich ein notify gebaut, was die Lampen dann schaltet: Lampen_WZ:off set LED_WZ_Decke,LED_WZ_Ecke,Lampe_WZ_Zebra,WZ_Tuer off


eki

In den eigentlichen Lampen Devices steht das Internal STATE aud defined, damit kann das Switch Widget erst mal nichts anfangen. Wie ändert sich denn STATE wenn man die Lampe aus- und anschaltet bzw. Laut Commandref sollte es ein Reading status geben, das auf ,,on"bzw. ,,off" steht. In Deinem Listing ist das aber nicht zu sehen. Gib mal in den UI Definitionen bei den Lampen noch mal zusätzlich data-get="status" an.

timbeau

Hi, ich glaube ich habe ein grundlegenderes Problem.

Der STATE aus Internals ändert sich nie bei den Lampen. Jetzt habe ich mal im Log geschaut und bekomme immer ein
2018-10-03 19:50:04 pilight_ctrl pilight_control rcv_raw: {"origin":"sender","protocol":"arctech_switch","message":{"id":24286894,"unit":1,"state":"on"},"repeat":1,"uuid":"0000-b8-27-eb-2d39fb"}
2018-10-03 19:50:04 pilight_ctrl pilight_control UNKNOWNCODE PISWITCH,arctech_switch,24286894,1,on


Also der pilight scheint ja ein Kommando zu bekommen aber die zweite Zeile scheint Probleme zu machen. Liegt es vllt daran?

Ich habe auch kein Reading bei den switchen.

Sollte ich das mal in den "pilight" Bereich schieben?


eki

Ja, würde ich mal dahin posten. Mit FTUI hat das wohl erst mal nichts zu tun.

timbeau

Falls es jemanden intressiert, ich musste angeben, dass die Rückmeldung mit der anderen "Firma" zur konfigurierten "Firma" passt.

attr pilight_control brands arctech:kaku

Damit bekommt FHEM die Rückmeldung und Tablet UI schaltet die Zustände korrekt.