Autor Thema: [gelöst] Reste von STATE in setList  (Gelesen 681 mal)

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
[gelöst] Reste von STATE in setList
« am: 19 September 2021, 20:57:18 »
Nabend,

ich habe einen Dummy für meinen Sauger angelegt.

Internals:
   FUUID      5f6b8fde-f33f-86cf-eec1-5a9544c686c48ca5
   NAME       DeebotOzmo950
   NR         317
   STATE      LastActivity:01_CleaningAuto charge<br><br>
<a href="http://192.168.178.66:8085/fhem/www/livemap/map1.png"><img src="/fhem/www/livemap/map1.png?nocache=<?time(); ?>" style="width: 100%;max-height: 100%"> </a>
   TYPE       dummy
   READINGS:
     2021-09-19 20:11:57   components      brush: 63.288888888888884%
sideBrush: 23.733333333333334%
heap: 8.222222222222223%

     2021-09-19 20:14:29   getrooms        0 Dining Room
1 Study
2 Corridor
3 Bathroom
4 Living Room

     2021-09-19 20:39:20   state           01_CleaningAuto charge
     2021-09-19 20:13:03   stats           Stats Cid: 111
Stats Area: 0
Stats Time: 0 minutes
Stats Type: spotArea

     2021-09-19 20:15:01   statuses        Vacuum Status: STATE_DOCKED
Battery: 100%
Fan Speed: normal
Water Level: medium

Attributes:
   readingList state
   room       04.Esszimmer_EG
   setList    01_CleaningAuto:clean,pause,resume,charge 02_SpotArea:multiple-strict,0,1,2,3,4 03_Fanspeed:quiet,normal,max,max+ 04_WaterFlowRate:low,medium,high,ultrahigh 05_Systeminfos:components,statuses,stats,getrooms 06_GetMap:noArg
   stateFormat LastActivity:state<br><br>
<a href="http://192.168.178.66:8085/fhem/www/livemap/map1.png"><img src="/fhem/www/livemap/map1.png?nocache=<?time(); ?>" style="width: 100%;max-height: 100%"> </a>
   webCmd     01_CleaningAuto:02_SpotArea:03_Fanspeed:05_Systeminfos:06_GetMap
   webCmdLabel BasicCmd&#58;:SpotArea&#58;:Fanspeed&#58;:Vacuumdetails&#58;:Mapdater&#58;

defmod DeebotOzmo950 dummy
attr DeebotOzmo950 readingList state
attr DeebotOzmo950 room 04.Esszimmer_EG
attr DeebotOzmo950 setList 01_CleaningAuto:clean,pause,resume,charge 02_SpotArea:multiple-strict,0,1,2,3,4 03_Fanspeed:quiet,normal,max,max+ 04_WaterFlowRate:low,medium,high,ultrahigh 05_Systeminfos:components,statuses,stats,getrooms 06_GetMap:noArg
attr DeebotOzmo950 stateFormat LastActivity:state<br><br>\
<a href="http://192.168.178.66:8085/fhem/www/livemap/map1.png"><img src="/fhem/www/livemap/map1.png?nocache=<?time();; ?>" style="width: 100%;;max-height: 100%"> </a>
attr DeebotOzmo950 webCmd 01_CleaningAuto:02_SpotArea:03_Fanspeed:05_Systeminfos:06_GetMap
attr DeebotOzmo950 webCmdLabel BasicCmd&#58;;:SpotArea&#58;;:Fanspeed&#58;;:Vacuumdetails&#58;;:Mapdater&#58;;

setstate DeebotOzmo950 LastActivity:01_CleaningAuto charge<br><br>\
<a href="http://192.168.178.66:8085/fhem/www/livemap/map1.png"><img src="/fhem/www/livemap/map1.png?nocache=<?time();; ?>" style="width: 100%;;max-height: 100%"> </a>
setstate DeebotOzmo950 2021-09-19 20:11:57 components brush: 63.288888888888884%\
sideBrush: 23.733333333333334%\
heap: 8.222222222222223%\

setstate DeebotOzmo950 2021-09-19 20:14:29 getrooms 0 Dining Room\
1 Study\
2 Corridor\
3 Bathroom\
4 Living Room\

setstate DeebotOzmo950 2021-09-19 20:39:20 state 01_CleaningAuto charge
setstate DeebotOzmo950 2021-09-19 20:13:03 stats Stats Cid: 111\
Stats Area: 0\
Stats Time: 0 minutes\
Stats Type: spotArea\

setstate DeebotOzmo950 2021-09-19 20:15:01 statuses Vacuum Status: STATE_DOCKED\
Battery: 100%\
Fan Speed: normal\
Water Level: medium\


webCmd in Verbindung mit setList erzeugen mehrere Dropdowns, ein Widget multiple-strict und ein stumpfes webCmd.
Optisch wird in dem Textfeld von multiple-strict immer der STATE angezeigt. Kann ich das umgehen, bzw. verhindern?

Gruß schwatter
« Letzte Änderung: 23 September 2021, 12:00:32 von schwatter »

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24686
Antw:Reste von STATE in setList
« Antwort #1 am: 20 September 2021, 12:13:29 »
Der voreingestellte Wert des Widgets wird aus dem gleichnamigen Reading genommen, und wenn sowas nicht vorhanden, dann aus dem state Reading.

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #2 am: 20 September 2021, 12:33:50 »
Ah ok.
Dann fülle ich das Reading zum Ende einfach mit "setreading".
Danke für die Erklärung.

Gruß schwatter

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #3 am: 20 September 2021, 19:09:23 »
Nabend,

nachdem ich jetzt das Reading fülle, funktioniert es wie gewünscht.
Jetzt habe ich noch 2 optische Fehler.

1.Das webCmdLabel von Spotarea wandert immer über das Eingabefenster von multiple-strict. Fühlt sich wie ein <br> an.

Edit:
Wahrscheinlich weil hier alles in eine "class" gepackt wird
<div class="col3">SpotArea<input type="text" size="30" readonly="" class="multiple_widget" informid="DeebotOzmo950-02_SpotArea" title="02_SpotArea"></div>
Getestet mit 3 verschiedenen Styles. Selbes Ergebnis.


2. Das Eingabefenster von multiple-strict ist sehr breit. Ich habe 3 FHEMWEB definiert, aber in keiner widgetOverride für breite Fenster gesetzt.
Die Dropdowns orientieren sich immer an der Breite des längsten Wertes. Ist es möglich, das gleiche Verhalten bei multiple-strict und ähnlichen Widgets zu erreichen?

Ich habe bis jetzt nur das Notify für das setzten des Readings erweitert. Der Dummy ist immer noch so definiert wie in Post #1.


Gruß schwatter
« Letzte Änderung: 20 September 2021, 19:16:10 von schwatter »

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24686
Antw:Reste von STATE in setList
« Antwort #4 am: 21 September 2021, 11:01:07 »
#1: Dass die Anderen(!) nicht umgebrochen werden, liegt daran, dass wegen Newlines im Inhalt (aka state) und Bug im FHEMWEB-Code eigentlich ueberfluessige <td>'s nicht entfernt werden. Den Bug habe ich jetzt gefixt :). Ansonsten ist das "Problem" eine Browser Sache: er versucht dir soviel Inhalt wie moeglich zu zeigen, ohne scrollen zu muessen.

#2: Das kann man (wenn es sein soll) mit eigenen CSS loesen.

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #5 am: 21 September 2021, 12:40:10 »
#1: Dass die Anderen(!) nicht umgebrochen werden, liegt daran, dass wegen Newlines im Inhalt (aka state) und Bug im FHEMWEB-Code eigentlich ueberfluessige <td>'s nicht entfernt werden. Den Bug habe ich jetzt gefixt :). Ansonsten ist das "Problem" eine Browser Sache: er versucht dir soviel Inhalt wie moeglich zu zeigen, ohne scrollen zu muessen.

Vielen Dank! Nach hoffentlich erfolgreichen Test heut Abend setzte ich das Thema auf gelöst.

#2: Das kann man (wenn es sein soll) mit eigenen CSS loesen.

Ok, dann schau ich wegen CSS.

Gruß schwatter
« Letzte Änderung: 21 September 2021, 12:41:44 von schwatter »

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #6 am: 21 September 2021, 17:12:15 »
Jetzt sind alle webCmdLabel einheitlich. Jedoch nun oberhalb anstatt links. Wenn das so gewünscht ist, könnte ich damit leben.
Andererseits wäre links strikter?

Gruß schwatter

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #7 am: 21 September 2021, 18:24:21 »
Handy Hochformat ist ok. Quer wie beschrieben.

Gruß schwatter

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #8 am: 22 September 2021, 21:58:32 »
Nabend,

ich habe jetzt

$htmlTxt =~ s,^<td[^>]*>(.*)</td>$,$1,s;
entfernt und alles ist wie erwartet links von Dropdown's, multiple-strict, und dem einen webCmd. Soweit so gut im Querformat. Hochformat ist
dann wieder unschön...Dann doch lieber umbrechen. Da ich alles einheitlich mit webCmdLabel angelegt habe, wäre ein Umbruch bei
webCmdLabel in Verbindung mit webCmd(only) wohl auch wünschenswert. Hier die betreffende Zeile, welche nicht umgebrochen wird.

<td><div class='col3'>Mapdater&#58;<a href="/fhem?cmd.DeebotOzmo950=set DeebotOzmo950 06_GetMap&amp;room=04.Esszimmer_EG&fwcsrf=csrf_xxxxxxxxxxxxxxx">06_GetMap</a></div></td>

Gruß schwatter


Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24686
Antw:Reste von STATE in setList
« Antwort #9 am: 23 September 2021, 09:41:13 »
Der Browser braucht wohl ein Leerzeichen zwischen Label und Link:
attr DeebotOzmo950 webCmdLabel BasicCmd&#58;;:SpotArea&#58;;:Fanspeed&#58;;:Vacuumdetails&#58;;:Mapdater&#58;;&#32;;
Das im FHEMWEB zu fixen waere aufwendig bzw. mir faellt nichts Einfaches ein.

Offline schwatter

  • Sr. Member
  • ****
  • Beiträge: 603
Antw:Reste von STATE in setList
« Antwort #10 am: 23 September 2021, 11:59:59 »
Ok,
dann ist das Thema für mich gelöst.
Mit dem Fix und etwas CSS für die Spaltenbreite sieht es jetzt vernünftig aus.
Danke!

Gruß schwatter