FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Fhemeinsteiger am 04 Mai 2018, 11:59:59

Titel: Gelöst--DOIF Problem?
Beitrag von: Fhemeinsteiger am 04 Mai 2018, 11:59:59
Hllo,
ich komme nicht weiter und brauch mal eure Hilfe.
ich habe 2xfhem auf 2 Pi.
einmal Version 5.7 und auf dem andern 5.8
auf beiden ist Telegram am laufen
ein DOIF soll mir melden wenn die Temperatur des Speicher unter 35°C fällt.
define Speicher_temp DOIF ([Speicher:temperature] < 37.0) (set 1Heizung message Heizung pruefen Wasser wird Kalt)

funktioniert bei Version 5.7 ohne Fehlermeldung
bei 5.8 kommt eine Fehlermeldung im log:
2018.05.04 11:32:09 1: PERL WARNING: Argument "" isn't numeric in numeric lt (<) at (eval 44) line 1.
2018.05.04 11:32:09 3: eval: Speicher_temp: warning in condition c01

generell stimmt beim neuen DOIF die Bedingung:([Speicher:temperature] < 37.0) nicht mehr?
Was muss ich bei der neueren Version ändern?

fhemeinsteiger
Titel: Antw:DOIF Problem?
Beitrag von: Otto123 am 04 Mai 2018, 12:12:47
Hi,

mach mal bitte ein list Speicherin beiden Instanzen.

Gruß Otto
Titel: Antw:DOIF Problem?
Beitrag von: Fhemeinsteiger am 04 Mai 2018, 12:48:48
 :o :o :o

eine da, andere fehlt?
Ich nahm an dass er die temp von Speicher aus der log Datei holt.
Beide Instanzen sind mit fhem2fhem verbunden.
Bei gplot funktioniert es ja auch so? :o

Alles klar, im Endstadium ist Speicher auf die neuere Version angelegt.

Hab da noch ein Problem:
define Heizung dummy
attr Heizung room Heizung
attr Heizung webCmd on:off
define Heizung_an DOIF ([Heizung] eq "on" and [07:00] or [11:00] or [18:00]) (set Heizungspumpe on,set Anlage on) DOELSEIF ([Heizung] eq "off" or [09:00] or [13:00] or [23:00]) (set Heizungspumpe off)

Heizungspumpe schaltet auch dann an wenn Heizung auf off steht?

Titel: Antw:DOIF Problem?
Beitrag von: CoolTux am 04 Mai 2018, 12:52:16
Du musst klammern


define Heizung_an DOIF ([Heizung] eq "on" and ([07:00] or [11:00] or [18:00])) (set Heizungspumpe on,set Anlage on) DOELSEIF ([Heizung] eq "off" or [09:00] or [13:00] or [23:00]) (set Heizungspumpe off)
Titel: Antw:DOIF Problem?
Beitrag von: Fhemeinsteiger am 04 Mai 2018, 13:03:45
Danke !!!
Ich werde es gleich mal testen.

fhemeinsteiger

Titel: Antw:DOIF Problem?
Beitrag von: Otto123 am 04 Mai 2018, 13:13:49
Zitat von: Fhemeinsteiger am 04 Mai 2018, 12:48:48
Ich nahm an dass er die temp von Speicher aus der log Datei holt.
Beide Instanzen sind mit fhem2fhem verbunden.
Bei gplot funktioniert es ja auch so? :o
na Du bringst Härten ins Spiel  ;D
Der Ausdruck [device:reading] liest das Gerät aus, das hast Du ja nun nachgewiesen.
Ins Log schreibst Du den Event der per F2F übertragen wird, das funktioniert. Und gplot liest natürlich das Log, DOIF weiß aber nichts vom Log.

Ich weiß nicht ob so etwas gehen würde wenn man den Event im DOIF auswertet?
https://commandref.fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events

Könnte man mal testen.

Gruß Otto
Titel: Antw:DOIF Problem?
Beitrag von: Fhemeinsteiger am 05 Mai 2018, 20:39:06
Nochmal eine Frage zu meinem 2. Problem
define Heizung_an DOIF ([Heizung] eq "on" and ([07:00] or [11:00] or [18:00])) (set Heizungspumpe on,set Anlage on) DOELSEIF ([Heizung] eq "off" or [09:00] or [13:00] or [23:00]) (set Heizungspumpe off)
funktioniert soweit.
Allerdings, wenn ein Reset oder Stromunterbrechung oder Heizung off geschaltet bzw. ausgelöst wird , kann mit Heizung on nicht sofort wieder die Heizungspumpe angeschaltet werden.
z.B. Fhem hat 19:00Uhr ein shutdown restart - schaltet die Heizungspumpe erst im nächsten Schaltzyklus also in meinem Fall am nächsten Tag 07:00 wieder ein.
Geht das auch anders?

fhemeinsteiger

Titel: Antw:DOIF Problem?
Beitrag von: Ellert am 05 Mai 2018, 20:59:20
Zitat von: Fhemeinsteiger am 05 Mai 2018, 20:39:06
Geht das auch anders?
Du könntest auf das globale Ereignis INITIALIZED triggern oder das Attribut startup verwenden.

https://fhem.de/commandref_DE.html#global
https://fhem.de/commandref_DE.html#DOIF_startup
Titel: Antw:DOIF Problem?
Beitrag von: Fhemeinsteiger am 06 Mai 2018, 19:46:07
Weder mit INITIALIZED noch mit Attribut startup funktioniert es.

Oder ist das mit DOIF nicht möglich bzw. nicht vorgesehen?

fhemeinsteiger
Titel: Antw:DOIF Problem?
Beitrag von: Ellert am 06 Mai 2018, 19:49:50
Zitat von: Fhemeinsteiger am 06 Mai 2018, 19:46:07
Weder mit INITIALIZED noch mit Attribut startup funktioniert es.

Oder ist das mit DOIF nicht möglich bzw. nicht vorgesehen?

fhemeinsteiger
Dann hätte ich es nicht erwähnt.
Titel: Antw:DOIF Problem?
Beitrag von: Fhemeinsteiger am 07 Mai 2018, 09:38:12
ich habe es jetzt so geschrieben und da funktioniert es:
define Heizung_an DOIF ([Heizung] eq "on" and ([07:00-09:00] or [11:00-13:00] or [18:00-23:00])) (set Heizungspumpe on,set Anlage on) DOELSE (set Heizungspumpe off)


manchmal ist eben weniger besser als mehr.

Danke
fhemeinsteiger
Titel: Antw:DOIF Problem?
Beitrag von: Fhemeinsteiger am 07 Mai 2018, 13:26:45
Da hab ich auch mein erstes Problem gelöst.
Über fhem2fhem lese ich die Temperatur eines DS1820 aus.
Mit cloneDummy wird ein Device angelegt welches in DOIF ausgewertet werden kann.

define Speicher cloneDummy FFCEFE901705 temperature

Dabei ist "FFCEFE901705" die id des Sensors.

fhemeinsteiger
Titel: Antw:Gelöst--DOIF Problem?
Beitrag von: Otto123 am 07 Mai 2018, 13:52:14
cloneDummy brauchst Du nicht.
ein leerer dummy Speicher hätte genügt.
Aber das hattest Du doch gemacht?
ZitatAlles klar, im Endstadium ist Speicher auf die neuere Version angelegt.