FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Albi am 12 Januar 2021, 01:24:30

Titel: <gelöst> Tablet UI: Thermostat Temperaturanzeige
Beitrag von: Albi am 12 Januar 2021, 01:24:30
Hallo,

in meinem Tablet UI habe ich ein Themostat angelegt.

Hier der Auszug aus meiner html


  <li data-row="4" data-col="5" data-sizey="1" data-sizex="1">
               
<header>Wohnzimmer</header>

<div class="sheet">
<div class="row">
<div class="cell" data-type="thermostat" data-device="hz_Wohnzimmer" data-valve="ValvePosition" data-get="desired-temp" data-temp="measured-temp"></div>
<div class="cell"> <div data-type="label" data-device="hz_Wohnzimmer" data-get="temperature" data-limits='[-73,16,20]' data-colors='["#6699FF","#aa6900","#bb6242"]' data-unit="%B0C%0A" class="bigger thin"></div>
              <div>Temperatur</div>
       </div>


  </li>


dort habe ich unter "data-get="temperature" folgende ausgabe. Siehe Bild


Dort wird eben das Wort (measured) aus dem reading übernommen


Ich habe hier ein Comet DECT Thermostat das ich über FBAHATTP mit der Fritzbox verbunden habe.

Hier wird im reading eben folgendes vom DECT gesendet
temperature 18.0 C (measured)

Jetzt meine Frage:

wie bekomme ich das Reading umgeschrieben, dass eben (measured) nicht mehr angezeigt wird?

Hier noch zur Info das gesamte RAW

defmod hz_Wohnzimmer FBDECT FrtizDect:13356_0931104 actuator,tempSensor
attr hz_Wohnzimmer IODev FrtizDect
attr hz_Wohnzimmer event-min-interval power:60
attr hz_Wohnzimmer room Esszimmer,FHT
attr hz_Wohnzimmer stateFormat temperature Eingestellt: desired-temp

setstate hz_Wohnzimmer 18.0 C (measured) Eingestellt: 16.0 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 AIN 13356 0931104
setstate hz_Wohnzimmer 2021-01-12 01:22:21 FBNAME Heizkörper Wohnzimmer
setstate hz_Wohnzimmer 2021-01-12 01:22:21 FBPROP actuator,tempSensor
setstate hz_Wohnzimmer 2021-01-12 01:22:21 FBTYPE Comet DECT
setstate hz_Wohnzimmer 2021-01-12 01:22:21 ID 20003
setstate hz_Wohnzimmer 2021-01-12 01:22:21 battery 100 %
setstate hz_Wohnzimmer 2021-01-12 01:22:21 batteryPercent 100
setstate hz_Wohnzimmer 2021-01-12 01:22:21 batteryState ok
setstate hz_Wohnzimmer 2021-01-12 01:22:21 batterylow 0
setstate hz_Wohnzimmer 2021-01-12 01:22:21 boostactive no
setstate hz_Wohnzimmer 2021-01-12 01:22:21 boostactiveendtime N/A
setstate hz_Wohnzimmer 2021-01-12 01:22:21 day-temp 23.0 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 desired-temp 16.0 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 devicelock no
setstate hz_Wohnzimmer 2021-01-12 01:22:21 errorcode noError (0)
setstate hz_Wohnzimmer 2021-01-12 01:22:21 fwversion 03.54
setstate hz_Wohnzimmer 2021-01-12 01:22:21 holidayactive no
setstate hz_Wohnzimmer 2021-01-12 01:22:21 locked no
setstate hz_Wohnzimmer 2021-01-12 01:22:21 nextPeriodStart 1970-01-01 01:00:00
setstate hz_Wohnzimmer 2021-01-12 01:22:21 nextPeriodTemp 23.0 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 night-temp 16.0 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 present yes
setstate hz_Wohnzimmer 2021-01-12 01:22:21 state desired-temp: 16.0 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 summeractive no
setstate hz_Wohnzimmer 2021-01-12 01:22:21 tempadjust -2.5 C
setstate hz_Wohnzimmer 2021-01-12 01:22:21 temperature 18.0 C (measured)
setstate hz_Wohnzimmer 2021-01-12 01:22:21 windowopenactiv no
setstate hz_Wohnzimmer 2021-01-12 01:22:21 windowopenactiveendtime N/A



Zusammengefasst, ich möchte im Tablet UI das nur die aktuelle Temperatur angezeigt wird. Eben ohne das "(measured)" und eben nur die "18.0 C"

Gruß Albi
Titel: Antw:Tablet UI: Thermostat Temperaturanzeige
Beitrag von: Albi am 12 Januar 2021, 01:36:11
Hier kurz ein Screenshot wie das komplette UI ausieht. Das "measured" nimmt auch die Frabe von Klat/warm usw nicht wie gewohnt mit

Ich muss dazu sagen.

Ich hatte davor im Wohnzimmer ein Funk FHT von Conrad hängen und habe es nun mit einem CometDECT getauscht.

Und der Comet DECT liefert im reading eben das (mesured) mit
Titel: Antw:Tablet UI: Thermostat Temperaturanzeige
Beitrag von: yersinia am 12 Januar 2021, 08:21:50
Davon abgesehen, dass dein HTML-Code nicht sauber ist (zwei schließende DIVs fehlen),
  <li data-row="4" data-col="5" data-sizey="1" data-sizex="1">
<header>Wohnzimmer</header>
<div class="sheet">
<div class="row">
  <div class="cell" data-type="thermostat" data-device="hz_Wohnzimmer" data-valve="ValvePosition" data-get="desired-temp" data-temp="measured-temp"></div>
  <div class="cell">
    <div data-type="label" data-device="hz_Wohnzimmer" data-get="temperature" data-limits='[-73,16,20]' data-colors='["#6699FF","#aa6900","#bb6242"]' data-unit="%B0C%0A" class="bigger thin"></div>
                    <div>Temperatur</div>
  </div> <!-- /cell <= FEHLT -->
</div> <!-- /row <= FEHLT -->
       </div> <!-- /sheet -->
  </li>

hast du im widget label zwei Möglichkeiten: data-part (https://wiki.fhem.de/wiki/FTUI_Widget_Label#Attribute) (rausfiltern des Temperaturwertes) oder data-substitution (https://wiki.fhem.de/wiki/FTUI_Widget_Label#Hinweise) (ersetzen des nicht gewollten Wertes).
Ungetestet, aber es könnte so funktionieren (eins von beiden):
data-part="\\-?\\d?\\d.\\d"
data-substitution="s/((\\sC\\s\\(measured\\))$//g"
(bin mir gerade nicht sicher ob die \ maskiert werden müssen, ansonsten mit einfachem \ testen)

Beides sind RegEx, kannst du selbst testen -> https://regex101.com (https://regex101.com)
Titel: Antw:Tablet UI: Thermostat Temperaturanzeige
Beitrag von: Albi am 12 Januar 2021, 09:06:09
Hallo,

danke mal.

aber beide klappen nicht. Egal ob einfaches / oder doppeltes//


Die fehlendes </div> habe ich eingebaut.

Titel: Antw:Tablet UI: Thermostat Temperaturanzeige
Beitrag von: yersinia am 12 Januar 2021, 09:10:32
Nimm den Inhalt des Readings von temperature
temperature 18.0 C (measured)
und füg das in regex101.com ein.
Du kannst mit data-substituion das Ende (" C (measured)") abschneiden (durch nichts ersetzen) oder mit data-part nach dem Temperaturwert ("18.0") suchen.

Was noch ein Versuch wäre -stochern im Nebel- die \ durch / ersetzen.

Was noch hilft ist ein list des Devices.
Titel: Antw:Tablet UI: Thermostat Temperaturanzeige
Beitrag von: juemuc am 12 Januar 2021, 22:07:35
Hallo,

nimm das:
data-substitution="s/C\ \(measured\)//"

So funktioniert es bei mir  8)

Viele Grüße
Jürgen
Titel: Antw:Tablet UI: Thermostat Temperaturanzeige
Beitrag von: Albi am 13 Januar 2021, 12:41:11
Zitat von: juemuc am 12 Januar 2021, 22:07:35
Hallo,

nimm das:
data-substitution="s/C\ \(measured\)//"

So funktioniert es bei mir  8)

Viele Grüße
Jürgen

Danke, so klappt es auch bei mir.

Gruß Albi