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
Hi,
mach mal bitte ein list Speicher
in beiden Instanzen.
Gruß Otto
: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?
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)
Danke !!!
Ich werde es gleich mal testen.
fhemeinsteiger
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
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
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
Weder mit INITIALIZED noch mit Attribut startup funktioniert es.
Oder ist das mit DOIF nicht möglich bzw. nicht vorgesehen?
fhemeinsteiger
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.
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
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
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.