FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Mickey am 09 Oktober 2016, 01:23:47

Titel: ReadingsNum
Beitrag von: Mickey am 09 Oktober 2016, 01:23:47
Hallo,

kann das so stimmen?

(ReadingsNum[FBDECT_FB_DECT_23:power]>=20) (set Brenner ein) DOELSE (set Brenner aus)

Wo habe ich den Fehler?

Ganz vielen Dank für euch Hilfe

LG, Michael
Titel: Antw:ReadingsNum
Beitrag von: CoolTux am 09 Oktober 2016, 06:47:06
Deine Frage wäre wohl im DOIF Bereich besser aufgehoben denke ich. Es ist doch ein DOIF oder?

Wenn ja dann schau mal hier (http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen)
Titel: Antw:ReadingsNum
Beitrag von: P.A.Trick am 09 Oktober 2016, 06:56:24
Machmal das ReadingsNum weg, dann sollte es auch gehen!
Titel: Antw:ReadingsNum
Beitrag von: Mickey am 09 Oktober 2016, 07:07:08
Ich bin mir nicht sicher, ich wollte aus einen Textstring

Reading:
power 15.87 W

nur die Zahl haben, damit ich sie numerisch im DOIF vergleichen kann.

Danke und Grüße

Michael


Titel: Antw:ReadingsNum
Beitrag von: Mickey am 09 Oktober 2016, 07:13:44
Steht im WikI und genau das brauche ich, nur wie?

ZitatDie Funktion ReadingsNum() extrahiert einen numerischen Wert aus dem Reading $reading der Definition $name und gibt diesen zurück. Dabei werden Zeichenketten wie z.B. Einheiten eliminiert und nur die eigentliche Zahl (Ganzzahl- oder Fließkommazahl) zurückgegeben. Sollte das gewünschte Reading nicht existieren, wird $default zurückgegeben.

Und hier das Problem:

Zitat(ReadingsNum[FBDECT_FB_DECT_23:power]>=20) (set Brenner ein) DOELSE (set Brenner aus)

Hilfe  ;D
Titel: Antw:ReadingsNum
Beitrag von: CoolTux am 09 Oktober 2016, 07:14:58
ReadingsNum ist eine Perlfunktion von FHEM. DOIF kann das von Hause aus.
Bitte bitte lese meinen Link da steht genau das drin was Du brauchst.
Titel: Antw:ReadingsNum
Beitrag von: Mickey am 09 Oktober 2016, 14:50:17
Hallo, ich habe es gelesen und DOIF macht und kann das auch.
Ist mir auch soweit klar, aber es kommt im LOG immer diese Fehlermeldung
und das sehr, sehr häufig:

ZitatPERL WARNING: Argument "15.87 W" isn't numeric in numeric ge (>=) at (eval 518) line 1.

Deswegen  :D

Grüße an euch, Michael
Titel: Antw:ReadingsNum
Beitrag von: Ellert am 09 Oktober 2016, 16:28:07
Hast Du das (http://fhem.de/commandref_DE.html#DOIF_Filtern_nach_Zahlen) überlesen?
ZitatEs soll aus einem Reading, das z. B. ein Prozentzeichen beinhaltet, nur der Zahlenwert für den Vergleich genutzt werden:

define di_heating DOIF ([adjusting:actuator:d] < 10) (set heating off) DOELSE (set heating on)
Titel: Antw:ReadingsNum
Beitrag von: CoolTux am 09 Oktober 2016, 17:04:19
Ist das selbe was ich ihm verlinkt habe. Funktioniert nicht sagt er.

Michel gib mal bitte ein list von Deinem Device sonst raten wir hier alle nur.
Titel: Antw:ReadingsNum
Beitrag von: Ellert am 09 Oktober 2016, 17:29:13
Zitat von: CoolTux am 09 Oktober 2016, 17:04:19
Ist das selbe was ich ihm verlinkt habe. Funktioniert nicht sagt er.

Michel gib mal bitte ein list von Deinem Device sonst raten wir hier alle nur.
Tut mir Leid, habe ich übersehen  ???
Titel: Antw:ReadingsNum
Beitrag von: CoolTux am 09 Oktober 2016, 17:35:04
Zitat von: Ellert am 09 Oktober 2016, 17:29:13
Tut mir Leid, habe ich übersehen  ???
Nicht schlimm, wollte nur kurz drauf aufmerksam machen.


Grüße
Titel: Antw:ReadingsNum
Beitrag von: Mickey am 09 Oktober 2016, 19:13:49
 >:( >:( >:(

WTF - ja, habe ich ganz sicher überlesen  :(

DankeSCHÖN für die Hilfe, ich setze das gleich mal um.

Vorher:
([FBDECT_FB_DECT_23:power]>20) (set Brenner ein) DOELSE (set Brenner aus)

Nachher:
([FBDECT_FB_DECT_23:power:d]>20) (set Brenner ein) DOELSE (set Brenner aus)

es scheint zu funktionieren  :) Ihr seid die BESTEN !

Danke, Michael
Titel: Antw:ReadingsNum
Beitrag von: CoolTux am 09 Oktober 2016, 19:16:51
Na dann ist ja alles schick.
Danke das Du noch mal Dein Ergebnis gepostet hast.
Titel: Antw:ReadingsNum
Beitrag von: Mickey am 09 Oktober 2016, 19:26:14
Sehr gerne und sorry für das delay  ;)

Ich hatte die Antwort schon geschrieben, war aber im Stress und vergessen auf "senden" zu klicken  ::)

Viele liebe Grüße an ALLE.*

Michael