Hauptmenü

Gelöst--DOIF Problem?

Begonnen von Fhemeinsteiger, 04 Mai 2018, 11:59:59

Vorheriges Thema - Nächstes Thema

Fhemeinsteiger

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

Otto123

Hi,

mach mal bitte ein list Speicherin beiden Instanzen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Fhemeinsteiger

 :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?


CoolTux

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)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Fhemeinsteiger

Danke !!!
Ich werde es gleich mal testen.

fhemeinsteiger


Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Fhemeinsteiger

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


Ellert

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

Fhemeinsteiger

Weder mit INITIALIZED noch mit Attribut startup funktioniert es.

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

fhemeinsteiger

Ellert

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.

Fhemeinsteiger

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

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

Otto123

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.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz