Autor Thema: [gelöst] Fhemweb.js widget selectnumbers behält die 0 nicht aus der Vorauswahl  (Gelesen 667 mal)

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
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
« Letzte Änderung: 19 Oktober 2021, 13:20:25 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8685
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #1 am: 21 September 2021, 19:17:54 »
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

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #2 am: 22 September 2021, 08:52:27 »
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; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8685
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #3 am: 23 September 2021, 12:43:44 »
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

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #4 am: 23 September 2021, 13:49:37 »
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; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #5 am: 23 September 2021, 14:07:57 »
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; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15722
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #6 am: 23 September 2021, 15:33:10 »
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:
Zitat
selectnumbers,<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-T620@Debian 10, 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:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #7 am: 23 September 2021, 15:47:48 »
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; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Damian

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8685
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #8 am: 23 September 2021, 17:11:41 »
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

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3741
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #9 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.

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
Antw:widget selectnumbers behält die 0 nicht aus der Vorauswahl im reading
« Antwort #10 am: 25 September 2021, 10:16:12 »
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
« Letzte Änderung: 25 September 2021, 10:31:28 von ch.eick »
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24500
Zitat
Das 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.

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
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; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP

Offline Ellert

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3741
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.
« Letzte Änderung: 27 September 2021, 12:33:43 von Ellert »

Offline ch.eick

  • Hero Member
  • *****
  • Beiträge: 1921
Hier noch die Rückmeldung, der fehler ist wie erwartet weg.
RPI4; Docker; CUNX; Eltako FSB61NP; 230V zentral verschaltet; SamsungTV H-Serie; DLNARenderer; TV.pl;  Sonos; Vallox; Luxtronik; 2x FB7490; Stromzähler mit DvLIR; wunderground; clever-tanken; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP