[gelöst] Fhemweb.js widget selectnumbers behält die 0 nicht aus der Vorauswahl

Begonnen von ch.eick, 21 September 2021, 16:31:00

Vorheriges Thema - Nächstes Thema

ch.eick

Hallo,

ich verwende folgened Definition im DOIF uiTable

widget([$SELF:SpeicherDcPowerAbs],"selectnumbers,-4500,250,4500,0,lin")

Wenn nun die 0 aus der Liste ausgewählt wird, so wird diese auch ins reading geschrieben.
Nach einem Refresh am Brower erscheint jedoch nicht die 0 aus dem reading als Vorbelegung sondern wieder die -4500 .
Der Inhalt des readings bleibt dabei jedoch weiterhin bei 0 .

Dann noch eine Nebenfrage:
Gibt es eine Möglichkeit das Design vom "selectnumbers" dem des "time" anzupassen?
Beim "time" ist ein Rahmen drum und das + als Button daneben.
Das "selectnumbers" erscheint nur mit der Ziffer und dem Pfeil nach unten zum Aufklappen

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Damian

Das Widget selectnumbers stammt von Ellert. Vermutlich wird 0 mit "leer" gleichgesetzt. Beim f18-Style habe ich einen Rahmen um das Select-Fenster.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

ch.eick

Zitat von: Damian am 21 September 2021, 19:17:54
Das Widget selectnumbers stammt von Ellert. Vermutlich wird 0 mit "leer" gleichgesetzt.

Zitat
Beim f18-Style habe ich einen Rahmen um das Select-Fenster.
Okay, f18 hat einen Rahmen, da gefällt mir leider das Gelb nicht so ;-)

Beim ios7 fehlt der Ramen leider.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Damian

Zitat von: ch.eick am 22 September 2021, 08:52:27
Okay, f18 hat einen Rahmen, da gefällt mir leider das Gelb nicht so ;-)

Beim ios7 fehlt der Ramen leider.

Was für ein Gelb? ;)

Die Farben sind doch anpassbar, bei mir ist gar kein Gelb.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

ch.eick

Zitat von: Damian am 23 September 2021, 12:43:44
Was für ein Gelb? ;)

Die Farben sind doch anpassbar, bei mir ist gar kein Gelb.
Das müsste ich dann auch mal machen, mir gefiel das ios ganz gut am Anfang.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Zitat von: Damian am 21 September 2021, 19:17:54
Das Widget selectnumbers stammt von Ellert. Vermutlich wird 0 mit "leer" gleichgesetzt.
Leider ist  das ein größeres Problem und besteht noch immer.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Beta-User

Zitat von: ch.eick am 23 September 2021, 14:07:57
Leider ist  das ein größeres Problem und besteht noch immer.
Die Annahme, dass "0" leer entspricht, ist nicht korrekt, jedenfalls, wenn man der Beschreibung bei FHEMWEB (widgetOverride) folgt:
Zitatselectnumbers,<min>,<step>,<max>,<number of digits after decimal point>,lin|log10
Das Problem scheint eher zu sein, dass das widget keine "lesende Verbindung" zum Reading hat?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

ch.eick

Zitat von: Beta-User am 23 September 2021, 15:33:10
Die Annahme, dass "0" leer entspricht, ist nicht korrekt, jedenfalls, wenn man der Beschreibung bei FHEMWEB (widgetOverride) folgt:Das Problem scheint eher zu sein, dass das widget keine "lesende Verbindung" zum Reading hat?
Da ich es in dem uiTable mehrfach verwende und es nur bei "-nnnn" nicht funktioniert würde ich das auch ausschließen.

Hierbei werden alle Werte korrekt im reading gesetzt und auch nach einem refresh wieder korrekt angezeigt.
Nur beim Wert 0 wird anscheinend auf den ersten Wert in der Liste gesprungen, was in diesem Fall -4500 ist.
Auch negative Werte werden aus dem reading immer wieder richtig angezeigt.
Es ist somit ein Problem bei 0 und dem Sprung auf den Index 0 in der Liste.

selectnumbers,-4500,250,4500,0,lin


Das funktioniert und steht auch immer wieder auf dem reading Wert, hier ist aber auch 0 der Index 0 in der Liste.

selectnumbers,0,50,2000,0,lin
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Damian

Zitat von: ch.eick am 23 September 2021, 15:47:48
Da ich es in dem uiTable mehrfach verwende und es nur bei "-nnnn" nicht funktioniert würde ich das auch ausschließen.

Hierbei werden alle Werte korrekt im reading gesetzt und auch nach einem refresh wieder korrekt angezeigt.
Nur beim Wert 0 wird anscheinend auf den ersten Wert in der Liste gesprungen, was in diesem Fall -4500 ist.
Auch negative Werte werden aus dem reading immer wieder richtig angezeigt.
Es ist somit ein Problem bei 0 und dem Sprung auf den Index 0 in der Liste.

selectnumbers,-4500,250,4500,0,lin


Das funktioniert und steht auch immer wieder auf dem reading Wert, hier ist aber auch 0 der Index 0 in der Liste.

selectnumbers,0,50,2000,0,lin


Dann einfach eine PN an Ellert schicken, er ist nicht mehr so aktiv z. Zt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

Das Widget selectnumbers ist zum Bestandteil von fhemweb.js geworden, daher liegt die Wartung nicht mehr in meiner Hand.

Gut wäre es eine allgemeine Definition für den Raw-Import zum Testen bereitzustellen, die bei jedem funktioniert, bzw. das Verhalten nachbildet.

Dann sollte auch geklärt werden, ob das Problem nur in uiTable auftritt.

Tritt  das Problem auf wenn das Widget select verwendet wird, wenn nicht wäre das eine schnelle Lösung.

ch.eick

Zitat von: Ellert am 25 September 2021, 01:20:37
Das Widget selectnumbers ist zum Bestandteil von fhemweb.js geworden, daher liegt die Wartung nicht mehr in meiner Hand.

Gut wäre es eine allgemeine Definition für den Raw-Import zum Testen bereitzustellen, die bei jedem funktioniert, bzw. das Verhalten nachbildet.

Dann sollte auch geklärt werden, ob das Problem nur in uiTable auftritt.

Tritt  das Problem auf wenn das Widget select verwendet wird, wenn nicht wäre das eine schnelle Lösung.
Vielen Dank für die Rückmeldung,
ich fange gerade erst mit den widgets und dem select an.

Der Test mit dem einfachen select im uiTable zeigt ein richtiges verhalten.

widget([$SELF:SpeicherDcPowerAbs],"selectnumbers,-4500,250,4500,0,lin")
widget([$SELF:SpeicherDcPowerAbs],"select,-4500,-4000,-3500,0,250,4500")

Verändert man aus der Liste einen Wert, so wechselt er in beiden Auswahllisten synchron, auch eine 0 bleibt stehen.

Kommt dann jedoch ein Browser Refresh, dann wird anschließend die 0 im selectnumbers auf -4500 gewechselt. Im select bleibt es genau wie im reading bei 0 .

RAW eines Dummy, das dieses Verhalten leider nicht zeigt.

defmod selectnumber_test dummy
attr selectnumber_test alias selectnumber_test
attr selectnumber_test readingList Test_select Test_selectnumbers
attr selectnumber_test setList Test_select:select,-3,-2,-1,0,1,2,3 Test_selectnumbers:selectnumbers,-3,1,3,0,lin
attr selectnumber_test stateFormat Test_select Test_selectnumbers
attr selectnumber_test verbose 0

setstate selectnumber_test 2021-09-25 10:26:51 Test_select 0
setstate selectnumber_test 2021-09-25 10:27:18 Test_selectnumbers 0


VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

rudolfkoenig

ZitatDas Widget selectnumbers ist zum Bestandteil von fhemweb.js geworden, daher liegt die Wartung nicht mehr in meiner Hand.
Da habe ich den Salat.
Habs gefixt.

ch.eick

Zitat von: rudolfkoenig am 25 September 2021, 13:37:23
Da habe ich den Salat.
Habs gefixt.
Vielen, vielen Dank,
ich wollte keine Umstände machen. Ich denke mit dem nächsten Update ist es dann dabei :-)

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Ellert

Ich weiß jetzt nicht was gefixt wurde, ich würde vorschlagen in fhemweb.js 24939 2021-09-09 17:10:37Z rudolfkoenig die Zeile 1646 zu ändern.

von  if(currVal)
auf   if(currVal || currVal == 0)

Ich sehe gerade, das hat sich erledigt.

ch.eick

RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick