Berechnungswerte Format numerisch

Begonnen von NeuFehm, 17 Dezember 2022, 09:24:23

Vorheriges Thema - Nächstes Thema

NeuFehm

Liebe Fhem-Gemeinde,
ich habe ein kleines Phenomen, deren Ursache ich kenne aber nicht die Lösung:
Mein DOIF: ([ESPEasy_SZ4_280:Temperature] lt [Zieltemp_SZ]) (set F8_FL_H8_SZ on) DOELSE (set F8_FL_H8_SZ off)
deutsch: Der Chip im Schlafzimmer SZ4 misst die Temperatur und vergleicht sie mit dem dummy Zieltemp_SZ. Wenn Schlafzimmertemp "lt", also kleiner als Zieltemp, dann Heizung (Relais F8_...) an, wenn nicht dann aus.
Soweit klar.
Jetzt die Readings:
- Zieltemp_SZ: 10.0
- ESPEasy_SZ4_280_Temperature: 4.9
Für mich ganz klar: bitte Heizung an, für Fhem ganz klar: Heizung aus.

Die Ursache
--------------
Stelle ich testweise die Zieltemp auf 9.5 dann springt die Heizung an, was mir dann sagt, dass Fhem nicht die numerischen Werte vergleicht, sondern offensichtlich die Textwerte
Die Zahl 10 beginnt mit einer "1" und die gemessene Temperatur beginnt mit einer 4. Daher schaltet Fhem nix ein. Bei dem 9.5-Test sieht das anders aus.
Die Zahl 9.5 beginnt mit 9 und 4 ist kleiner als 9, also Heizung an.

Das Problem
---------------
Wie kann ich nun Fhem sagen, dass er die "numerischen" Werte nehmen soll?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

NeuFehm

Huch... habe mal testweise ein "<" statt ein "lt" verwendet und siehe da, es funktoniert. Sollte es nur daran gehangen haben?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

jhohmann

alt vergleicht die Zeichenketten, nicht die Zahlwerte. Damit ist 1 kleiner als 4, egal, was danach folgt.
< oder > vergleicht die Zahlwerte.
Also ja, das war die Lösung.
Bitte im ersten Beitrag die Überschrift anpassen auf gelöst.
Raspberry Pi 4 - bookworm / EnOcean - Rollo+Licht, deCONZ - Licht+Sensoren, ZWave - CO Messung, HMCCU mit piVCCU - Heizung+Rollo
plus dovecot, minidlna