[FUIP] [gelöst] FUIP::View::Window 3 state

Begonnen von eisman, 10 März 2019, 10:47:04

Vorheriges Thema - Nächstes Thema

eisman

hi,

wäre es möglich das man in FUIP::View::Window  4 werte vorgibt?

  jetz open//closed 1 Fenster
 
  z.B.  openopen     fts_window_2w
         openclosed    fts_window_2w_open_l
         closedopen    fts_window_2w_open_r
         closedclosed  fts_window_2w_open_lr

Problem:

  Das Fenster hat 2 Flügel mit 9 möglichkeiten
        closedclosed|closedtilted|closedopen|openopen|openclosed|opentilted|tiltedtilted|tiltedopen|tiltedclosed

wäre schön
danke
mfg
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

Benni

Dann schmeisse ich meine Idee dazu auch nochmal hier rein:

Zitat von: Benni am 10 März 2019, 09:26:05
Ist mir gestern beim Basteln auch aufgefallen, dass der Window-View nur open und closed Status kennt.
Ich habe aber ebenfalls einige Threestates im Einsatz, die open, closed und tilted liefern.

Eventuell liesse sich ja auch ein generisches Multistate-View bauen, dem beliebig viele Status hinzugefügt werden können? (Sorry, aber ich muss erst mal die Anwenderseite abklopfen, bevor ich tiefer in FUIP/FTUI einsteige um ggf. selbst zu bauen.)

gb#

Thorsten Pferdekaemper

...das sind dann aber auch zwei Readings, die man erst einmal zusammenfassen muss, oder?
Kann man da nicht einfach zwei Window-Views nebeneinander darstellen?
Gruß,
   Thorsten
FUIP

eisman

hi,

es schaut halt besser aus, es sind dann zwei PNG nebeneinander, mir persönlich würde es reichen wenn
wenn man es sehen könnte Fenster links oder rechts ist offen, da ich die Device schon zusammen gefast habe,
sind die redings halt openopen usw.

wenn es nicht geht, muss ich mir halt noch ein reding basteln mit offen geschlossen, wie bei der rollladensteuerung.

mfg
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S

Thorsten Pferdekaemper

Hi,
jetzt habe ich eine ganze Weile darüber nachgedacht, was man da machen könnte...
Also rein theoretisch könnte man natürlich dem Window View neben open und closed nochmal 7 weitere Zustände verpassen. Das wären dann 14 neue Felder, was etwas unübersichtlich werden dürfte. Außerdem kommt dann bestimmt jemand auf die Idee, irgendwas mit 10 Zuständen abbilden zu wollen. ...usw...
Außerdem will man dann wahrscheinlich auch noch die Farben anders festlegen.
Blöderweise können die Views keine dynamischen Parameter. D.h. die Anzahl der Parameter und welche es gibt, ist fest verdrahtet. Eine Ausnahme bildet momentan nur der HTML-View, wo man im HTML die Parameter definieren kann. Blöderweise muss man dazu aber mal kurz das Konfigurations-Popup zu- und wieder aufmachen, was mir auch nicht so gefällt.
Natürlich könnte man einen View machen, bei dem man in ein Feld ein Array (eine Liste) eintragen kann. Dann kann man sich aber auch gleich einen HTML-View bauen.
Ich glaube, dass das so langsam wirklich ein Fall für einen (parametrisierten) HTML View und ein darauf aufbauendes View Template ist.   
Mal sehen, vielleicht kann ich da mal was auf die Schnelle zusammenbasteln...
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
also es geht in etwa so: Man macht sich ein View Template, auf dem ein HTML View mit in etwa folgendem Text drauf ist:

<div data-type="symbol" class="compressed large"
data-device="<fuip-field fuip-name="device" fuip-type="device">doublewindow</fuip-field>"
data-get="<fuip-field fuip-name="reading" fuip-type="reading" fuip-refdevice="device">state</fuip-field>"
data-states='["closedclosed","closedtilted","closedopen","openopen","openclosed","opentilted","tiltedtilted","tiltedopen","tiltedclosed"]'
data-icons='["oa-fts_window_2w","oa-fts_window_2w_tilt_r","oa-fts_window_2w_open_r","oa-fts_window_2w_open_lr","oa-fts_window_2w_open_l","oa-fts_window_2w_open_l_tilt_r","oa-fts_window_2w_tilt_lr","oa-fts_window_2w_tilt_l_open_r","oa-fts_window_2w_tilt_l"]'
data-colors='["green","yellow","red","red","red","red","yellow","red","yellow"]' >
</div>

(Sorry für die Formatierung.)
Dann schiebt man sich noch die Größe zurecht und macht aus device und reading Variablen, also so wie im hier dranhängenden Bild.
Das kann man dann wie einen normalen View verwenden.
Das Reading muss dafür die Zustände wie von eisman aufgelistet enthalten.
Gruß,
   Thorsten
FUIP

eisman

#6
hi,

perfekt, klasse, dankeschön,

[geht auch für Tür (open, closed, alarm)]

mfg
1x FHEM Debian, Homematic,ZigBee,FS20 / 1X Raspberry, ConBee / 7x ESP
1x FHEM Debian, Homematic,Z2M             / 1X Raspberry, ConBee / 6x ESP
1x FHEM Debian,MQTT2                             / 1X Raspberry, i2c,onewire,gpio
1x auf Windows 2012 Hyper-V-S