Autor Thema: setList in Modul implemetieren  (Gelesen 462 mal)

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1472
  • und es werden immer mehr...
setList in Modul implemetieren
« am: 27 September 2019, 21:57:33 »
Ein herzerfrischendes Moin vom "hintern-Deich" vorweg!

Ich möchte gerne in mein Modul in oder über der Sektion X_FW_detailFn gerne eine setList generieren.
Das setList - Attribut kann man leider ja nur bei bestimmten Geräten setzen.

Zitat Wiki:
Zitat
Einschränkungen
Dieses Attribut existiert nur bei DOIF-, dummy-, MSwitch- und readingsProxy-Devices.

Die Frage, was muss ich im Modul implementieren, wenn ich auf das Reading mit dem Namen "BspRead" einen Slider mit vorgegebenen Werten darstellen will.
Ein setList eben...

Danke für die Antworten.

Gruss
    Sailor
******************************
Aufgrund eines Rohrbruchs nur eingeschränkte Antwort möglich.

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20983
Antw:setList in Modul implemetieren
« Antwort #1 am: 27 September 2019, 22:26:02 »
Bin ziemlich verwirrt nach der Raterei, was Du erreichen willst, vmtl. hilft es, wenn du das urspuengliche Problem beschreibst.

- wieso stoert es dein Modul, wenn setList nicht ueberall funktioniert?
- setList ist fuer die Module, die nicht sicher sind, welche Befehle sie anbieten wollen. Bei dummy ist es ja egal, bei MQTT2_DEVICE ist noetig, damit man beliebige Geraete mit einem generischen Modul bedienen kann. Aber bei FS20, der seine festen 30+ Befehle kennt, macht es wenig Sinn, wenn der Benutzer neue hinzufuegt, bei notify und at ebenso.
- Readings sind (wie der Name suggeriert) zum lesen da, sie repraesentieren die Daten, die das Geraet gesendet hat.
- wenn ein Benutzer einem set/get Befehl ein Slider spendieren will (weil der Modulautor es vergessen hat) dann kann er es mit widgetOverride machen. Hat aber nix mit "FHEM Development" zu tun.

Offline CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 22327
Antw:setList in Modul implemetieren
« Antwort #2 am: 27 September 2019, 22:52:42 »
Meinst Du in der setFn z.B.
$list = 'volume:slider,0,1,100';
Oder habe ich Dich da total falsch verstanden?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://paypal.me/pools/c/8gULisr9BT
FHEM GitHub: https://github.com/fhem/
kein Support für cfg Editierer

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1472
  • und es werden immer mehr...
Antw:setList in Modul implemetieren
« Antwort #3 am: 28 September 2019, 11:55:55 »
Nein Nein, Ihr denkt viel zu kompliziert.

Auf dem Bild unten seht ihr den mit der "X_FW_detailFn" erstellten Bereich.

Zwischen der ersten Tabelle (das mit dem Bild) und der 2ten Tabelle (das für History der Bilder) möchte ich gerne einen slider oder setlist oder Buttons mit den Werten (Normal, Party und Fire) welche für das Reading "OpsMode" vorgegeben sind.

Danke für Eure Hilfe!

Gruss
    Sailor
******************************
Aufgrund eines Rohrbruchs nur eingeschränkte Antwort möglich.

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 20983
Antw:setList in Modul implemetieren
« Antwort #4 am: 29 September 2019, 11:14:09 »
Auf diese Weise kannst du die Aufgabe (wenn ich mich nicht irre) nur mit JavaScript loesen, was aber in detailFn eingebaut werden kann.
Grob zusammengefasst musst du ein HTML-Element einbauen, das slider Widget dranhaengen, und bei Aktionen das gewuenschte Set in FHEM ausloesen.
In etwa so, wie FW_replaceWidget aus fhemweb.js macht.

Da das nicht wirklich als Bibliothek implementiert ist, wuerdest Du dir (oder mir :) ) viel Arbeit erspraren, wenn du das Problem anders loest.

Offline Sailor

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1472
  • und es werden immer mehr...
Antw:setList in Modul implemetieren
« Antwort #5 am: 01 Oktober 2019, 10:44:25 »
Da das nicht wirklich als Bibliothek implementiert ist, wuerdest Du dir (oder mir :) ) viel Arbeit erspraren, wenn du das Problem anders loest.

 :'(

Trotzdem Danke.

Gruß
    Sailor

******************************
Aufgrund eines Rohrbruchs nur eingeschränkte Antwort möglich.