Habe einen Fhem auf einem Raspberry. Im Haus sind 4 Heizungen mit FS20 Schalter und Funkthermostat.
Zwei Räume. Keller und Küche habe ich mit Fhem gesteuert.
Nehme dafür ESPEASY mit BME280 die die Temperatur messen und es zu Fhem übermitteln.
define Kellersteckdose DOIF ([04:00-20:30] and [ESPEasy_ESP_Easy_Keller:Temperature] < 16) (set Keller on) DOELSEIF ([ESPEasy_ESP_Easy_Keller:Temperature] >=20) (set Keller off)
Von 4 Uhr bis 20.30 Uhr soll die Heizung einschalten wenn die Temperatur unter 16 Grad ist und wieder ausschalten wenn sie 20 Grad erreicht hat.
Nun ein Beispiel
2021-02-12_09:36:59 Keller on-for-timer 512 somit ist die Heizung eingeschaltet.
2021-02-12_10:34:48 Keller off-for-timer es wurde die Heizung ausgeschaltet obwohl ich eine Temperatur von 18.7 Grad habe.
Was kann ich dagegen tun, dass die sich nicht einfach ausschaltet ? Oder muss man da noch einen Befehl geben ?
Moin,
weil Du einen Bereich hast, wo nichts passieren wird: 16-20 und Du steuerst ja offenbar mit Timer: Keller on-for-timer 512
Hier ein Beispiel für einen Temperaturregler:
defmod di_temperatur_WG DOIF ([SensorWG:temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?SD1:state] ne "off") \
(set SD1 off) \
DOELSEIF ([SensorWG:temperature]<([$SELF:desired]-[$SELF:hysterese]/2) and [?SD1:state] ne "on") \
(set SD1 on)
attr di_temperatur_WG cmdState off|on
attr di_temperatur_WG readingList desired,hysterese
attr di_temperatur_WG room Wintergarten
attr di_temperatur_WG setList desired:8,10,12,15 hysterese:1,2,5
attr di_temperatur_WG webCmd desired:hysterese
Kannst Du ja anpassen und um die Zeitsteuerung erweitern.
Gruß Otto
Ich arbeite nicht mit einem Timer. Sondern nur mit oben genannten Befehl.
Habe aber jetzt festgestellt.
on-for-timer 512 steht im Log für die Küche. Aber er hat die Heizung nun ausgeschaltet. Das verstehe ich aber auch nicht.
PS. Gedankenfehler. Es gibt ja noch CMD_1 für ein und CMD_2 für aus. Total übersehen.
kann ja sein das "Du" es nicht bist aber on-for-timer 512 im Eventmonitor spricht doch eine deutliche Sprache. Ich habs nicht gemacht :)
Ja ist klar. Muss mal dein Beispiel mit der Temperaturregelung mal genauer anschauen, wie ich das für meine Sachen umsetzen kann
Hilft Dir aber nicht, wenn irgendwas in deinem System aus einem on einen on-for-timer macht?!
Deine Routine hat ein "Loch" die ist so in keiner Weise sinnvoll.
Woran klemmt die Umsetzung? Was ist unklar - Das mit der Zeit? Da gibt es sicher mehrere Ansätze:
Du könntest z.B. einfach im ersten Zweig "[20:30-04:00] or ( den Rest in Klammern)" und im zweiten Teil "[04:00-20:30] and "einfügen.
Wobei eigentlich der erste Zusatz ausreichen müsste. :-\
Vermutlich arbeiten mehrere andere Elemente auch mit deinem "Keller"-Device.
Einfach mal in der fhemweb sich das Device "Keller" anschauen und die Verwendungen ganz unten im Abschnitt "Probably associated with" prüfen.
Wenn hier nichts auftaucht, musst du deine 99_myUtils.pm durchgehen, ob da eine Routine deinen "Keller" benutzt.
Vermutlich greift ein notify oder at auch darauf zu und wird durch was anderes getriggert.
Probably associated with
ESPEasy_ESP_Easy_dht Feu: 54.30 Tem: 19.80 ESPEasy
Keller on-for-timer 512 FS20
Das steht dort bei mir
Probably associated with
FileLog_Keller active FileLog
Kellersteckdose cmd_1 DOIF
Ich habe da noch eine Frage. Wiederholt sich dass dann jeden Tag, oder muss ich da noch etwas einstellen. Denn heute morgen stand noch alles auf OFF
Moin
Mach doch bitte mal "list Keller". Kopiere das dann und stelle das hier in Codetags ein! (Die Raute ( # ) ueber den smilies!)
Das Gleiche noch mal fuer Kellersteckdose.
Und dann koennen wir Dir antworten. Im Uebrigen hat Otto mit seinem Loch nicht ganz unrecht. Es kann Situationen geben, in denen nicht das passiert, was Du Dir erhoffst!
Gruss Christoph
Internals:
BTN a8
DEF 466a a8
FUUID 6026487c-f33f-a3c4-db61-08e4d1db3c86d2eb
IODev nanoCUL
LASTInputDev nanoCUL
MSGCNT 19
NAME Keller
NR 24
STATE on
TYPE FS20
XMIT 466a
nanoCUL_MSGCNT 19
nanoCUL_RAWMSG 810c04xx0101a001466aa8003800
nanoCUL_RSSI -71.5
nanoCUL_TIME 2021-02-16 10:37:06
CODE:
1 466a a8
READINGS:
2021-02-16 10:53:28 state on
Attributes:
IODev nanoCUL
room FS20
Internals:
BTN 86
DEF f1a1 86
FUUID 6026483d-f33f-a3c4-cae3-8578772478ce8705
IODev nanoCUL
LASTInputDev nanoCUL
MSGCNT 189
NAME Kueche
NR 22
STATE on
TYPE FS20
XMIT f1a1
nanoCUL_MSGCNT 189
nanoCUL_RAWMSG 810c04xx0101a001f1a1860039a2
nanoCUL_RSSI -92.5
nanoCUL_TIME 2021-02-16 10:54:03
CODE:
1 f1a1 86
READINGS:
2021-02-16 10:59:12 state on
Attributes:
IODev nanoCUL
room FS20
Internals:
BTN a8
DEF 466a a8
FUUID 6026487c-f33f-a3c4-db61-08e4d1db3c86d2eb
IODev nanoCUL
LASTInputDev nanoCUL
MSGCNT 20
NAME Keller
NR 24
STATE off-for-timer
TYPE FS20
XMIT 466a
nanoCUL_MSGCNT 20
nanoCUL_RAWMSG 810c04xx0101a001466aa8003800
nanoCUL_RSSI -76.5
nanoCUL_TIME 2021-02-16 11:05:06
CODE:
1 466a a8
READINGS:
2021-02-16 11:05:06 state off-for-timer
Attributes:
IODev nanoCUL
room FS20
Danke
Der zweite Post sollte bestimmt Kellersteckdose sein, ist aber nochmal Keller geworden!
Zitat von: reimundko am 16 Februar 2021, 08:01:40
Ich habe da noch eine Frage. Wiederholt sich dass dann jeden Tag, oder muss ich da noch etwas einstellen. Denn heute morgen stand noch alles auf OFF
Auf was bezieht sich Deine Frage? Auf Dein DOIF? Wie sieht das aus?
Zitat von: pc1246 am 16 Februar 2021, 11:13:31
Danke
Der zweite Post sollte bestimmt Kellersteckdose sein, ist aber nochmal Keller geworden!
Ja aber mit off-for-timer !!!
Mit off-for-timer bekommst Du die Regelung nicht sonderlich gut in den Griff. Vor allem nicht wenn Du nicht weißt woher!?
Ja mit dem Off Timer weiss ich auch nicht wie das passiert ist.
Ich muss leider wieder neu anfangen mit dem FHEM.
Tut mir leid.
Aber seit meinem Schädelhirntrauma ist leider einiges verloren gegangen.
Möchte euch nicht unnötig belasten und nerven mit meinen Fragen.
Wenn Du nerven und belasten würdest, würde einfach keiner mehr antworten.
Liefere uns Infos und wir können mitdenken.
Es gibt hier einen Artikel zu cmdalias https://wiki.fhem.de/wiki/Cmdalias
Definiere Dir das grep und suche nach on-for-timer. Vielleicht findest Du den Übeltäter.
BTW Das DOIF was ich gestern vorgeschlagen habe war komplett, das läuft jeden Tag. Ich habe die mittlerweile auch mit Zeitsteuerung, wie gestern schon vorgeschlagen, umgesetzt. Aber Achtung: nicht für Heizung sondern für Luftfeuchte - ist quasi genau "andersrum"
defmod di_humidity_GZ DOIF ([23:00-08:00] or ([SensorGZ_Climate:humidity]<([$SELF:desired]-[$SELF:hysterese]/2) and [?PSD2_Sw:state] ne "off")) \
(set PSD2_Sw off) \
DOELSEIF ([SensorGZ_Climate:humidity]>([$SELF:desired]+[$SELF:hysterese]/2) and [?PSD2_Sw:state] ne "on") \
(set PSD2_Sw on)
attr di_humidity_GZ cmdState off|on
attr di_humidity_GZ readingList desired,hysterese
attr di_humidity_GZ setList desired:56,58,60,62,64,66,68,70 hysterese:2,5,10
attr di_humidity_GZ webCmd desired:hysterese
Danke ich schau mir das mal an.
Meines sieht ja im Moment noch so aus.
([04:00-20:30] and [ESPEasy_ESP_Easy_dht:Temperature] < 18) (set Keller on) DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature] >=21) (set Keller off)
Aber da ist wieder das "Loch" zwischen 18 und 21 °C passiert nichts ::)
Ansonsten wird das immer wenn die Temp >= 21 ist auschalten und im Zeitraum 4:00-20:30 und kleiner 18 einschalten. Aber es bekommt nicht mit wenn "Keller" nicht in der Schaltposition ist wo er sein soll. Also wenn unter 18 ° einer "Keller off" manuell setzt - geht der erst beim nächsten Zeittrigger 4:00 wieder an.
@Otto
Was hast Du fuer ein Problem mit dem Loch?
Wenn es in der vorgegebnen Zeit kleiner als 18°C ist, dann geht es an. Wenn es groesser als 21°C ist dann geht es aus!
Problem ist lediglich Wenn es aus war und es nie wieder kleiner als °C war. Aber der Geschmack kommt beim Essen!?
Gruss Christoph
Edith: Ah jetzt habe ich es, Du meinst dass die Zeit ein Fragezeichen abbekommen sollte!?
OK alles klar. Habe im Moment eine Temperatur von 16 Grad im Keller.
Im Status steht nun ON. Heizung hat sich angeschaltet.
Nun sollte sie ja solange anbleiben bis die 21 Grad erreicht werden.
Das werde ich nun mal beobachten.
Also sollte sie sich wieder einschalten wenn die Temperatur unter 18 Grad ist ?
Denn gestern hatte ich das Problem mit dem Off-Timer. obwohl die Temperatur erst 19,6 Grad war
Ich werde mal versuchen deinen Code umzusetzen für meine Verhältnisse.
@Christoph Ja welches Problem habe ich mit dem Loch. Vielleicht hast Du Recht - aber mein Bauch sagt: es ist nicht gut :)
Die Zeit würde ich auf alle Fälle ohne ? machen. Im Zweifel ist das (gerade im Keller) früh der einzige Trigger. Wenn der Temperatursensor nicht meldet (eocr und stabile Temperatur) würde nichts anspringen.
Ich meine vor allem wichtig ist auch die Statusabfrage der Schalter. Ansonsten hat man durch die Mitbewohner oder unachtsame Außer/Inbetriebnahme unklare Verhältnisse und der "Regler" legt nicht los.
@reimundko Für Dich vorbereitet (Für die Raw Definition):
defmod Kellersteckdose DOIF ([20:30-04:00] or ([ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off")) \
(set Keller off) \
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2) and [?Keller:state] ne "on") \
(set Keller on)
attr Kellersteckdose cmdState off|on
attr Kellersteckdose readingList desired,hysterese
attr Kellersteckdose setList desired:16,18,19,20,21,22 hysterese:1,2,3,5
attr Kellersteckdose webCmd desired:hysterese
set Kellersteckdose desired 20
set Kellersteckdose hysterese 2
Ich hoffe ich habe nichts übersehen.
Aber das Problem on-for-timer musst Du suchen ;)
Ich probiere das mal einzubinden ob es klappt
Hmmm. Deine Version scheint bei mir besser zu laufen.... Muss nur mal schauen ob die Heizung auch wirklich schaltet. Fhem steht auf ON und die Lampe leuchtet.
IM LOG 2021-02-16_15:07:28 Keller on
2021-02-16_15:35:54 Keller off-for-timer
Muss nun mal schauen wo ich noch ein Fehler habe. Steht auf ON Symbol leuchtet, höre allerdings nicht die Heizung schalten.
Ich glaube die Sendeleistung ist bei meinem CUL zu gering.
Kann zwar alle Geräte empfangen. Aber er sendet nur bis zum Keller, weiter nicht.
nanoCUL ccconf => freq:868.300MHz bWidth:325KHz rAmpl:42dB sens:4dB
Es gibt auch CUL die sens:10-12db erreichen.
Naja FS20 ? Da gibt es ja eh keine Rückmeldung ob geschaltet oder nicht. Ist eigentlich nur für Weihnachtsbeleuchtung zu gebrauchen ;)
Das ist richtig. Aber alle meine Heizungen benutzen den FS20. Sind schon mehrere Jahre im Betrieb.
Vielleicht ist es da ein gute Idee den DOELSEIF Zweig doch zu verändern:
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
Ohne die Prüfung des Schalterzustandes würde er jetzt bei jedem Signal vom Temperatursensor den Schalter wieder on setzen.
Der Temperatursensor sollte dafür für Temperature kein event-on-change-reading gesetzt haben!
Macht etwas mehr Funklast - aber wenn der Temperatursensor nur alle paar Minuten sendet sollte das ok sein.
Ansonsten: Position des Senders ändern, da bringen manchmal wenige cm etwas / oder Antenne anschließen.
Danke dann werde ich mal sehen, wie der Temperatursensor dann sendet. Nofalls umrüsten auf Funkthermostate/Schalter die auf beiden Seiten funktionieren.
ich probiere dann mal deine neue doelseif aus
Ich muss nochmals was fragen. So sieht meine Draw aus.
defmod Kellersteckdose DOIF ([04:30-21:00] or([ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off")) \
(set Keller off) \
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
attr Kellersteckdose cmdState off|on
attr Kellersteckdose readingList desired,hysterese
attr Kellersteckdose setList desired:16,18,19,20,21,22 hysterese:1,2,3,5
attr Kellersteckdose webCmd desired:hysterese
setstate Kellersteckdose off
setstate Kellersteckdose 2021-02-18 11:02:54 Device ESPEasy_ESP_Easy_dht
setstate Kellersteckdose 2021-02-18 11:01:18 cmd 1
setstate Kellersteckdose 2021-02-18 11:01:18 cmd_event set_cmd_1
setstate Kellersteckdose 2021-02-18 11:01:18 cmd_nr 1
setstate Kellersteckdose 2021-02-17 15:01:15 desired 19
setstate Kellersteckdose 2021-02-18 11:02:54 e_ESPEasy_ESP_Easy_dht_Temperature 16.70
setstate Kellersteckdose 2021-02-18 11:01:29 e_Kellersteckdose_hysterese 3
setstate Kellersteckdose 2021-02-18 11:01:29 hysterese 3
setstate Kellersteckdose 2021-02-18 11:00:51 mode enabled
setstate Kellersteckdose 2021-02-18 11:01:18 state off
setstate Kellersteckdose 2021-02-18 11:00:51 timer_01_c01 19.02.2021 04:30:00
setstate Kellersteckdose 2021-02-18 11:00:51 timer_02_c01 18.02.2021 21:00:00
Ist das so richtig?
Denn ich bekomme auf einmal eine Meldung 2021-02-18_11:01:14 Keller off-for-timer
Die Zeit ist falsch rum!
[04:30-21:00]
Du willst off in der Zeit [20:30-04:00]
In meinem Code in Post #21 ist es richtig!
OH verdammt.......War ein Gedankenfehler von mir. Vielen Dank
Moin
Solange Du nicht rausfindest, wer noch alles "Keller" schaltet, wird das nie klappen!
Du hast immer wieder "on-for-timer" oder "off-for-timer". Das wird aber nicht durch das DOIF ausgeloest!
Wie gross ist denn Dein fhem?
Druecke doch mal auf everything, und wenn das nicht zu viel ist, dann kopiere das und poste das hier als code!
Gruss Christoph
Kellersteckdose
initialized
19
5
Kuechensteckdose
20
2
ESPEasy Bridge
espBridge
Initialized
ESPEasy Device
ESPEasy_ESP_Easy_Dallas
Aqu: 15.75
ESPEasy_ESP_Easy_Pflanze_01
Ana: 0
ESPEasy_ESP_Easy_aqua
absent
ESPEasy_ESP_Easy_dht
Feu: 63.50 Tem: 17.30
ESPEasy_ESP_Easy_kueche
Hum: 0.00 Pre: 1008.67 Tem: 19.05
ESPEasy_ESP_Easy_testds18b20
tem: 28.75
FB_CALLMONITOR
Anrufliste
opened
FHEMWEB
WEB
Initialized
WEB_127.0.0.1_41836
Connected
WEB_192.168.178.101_61944
Connected
WEB_192.168.178.27_51896
Connected
WEB_192.168.178.27_52091
Connected
WEB_192.168.178.27_52286
Connected
FRITZBOX
FritzBox
WLAN: on gWLAN: on
FS20
Keller
on
off
Kueche
on
off
FileLog
FileLog_Keller
Keller-2021.log
text
FileLog_Kueche
Kueche-2021.log
text
FileLog_MQTT2_DVES_239408
MQTT2_DVES_239408-2021.log
text
FileLog_MQTT2_ESP_Easy_0
MQTT2_ESP_Easy_0-2021.log
text
FileLog_MQTT2_ESP_Easy_akeller_0
MQTT2_ESP_Easy_akeller_0-2021.log
text
FileLog_MQTT2_ESP_Easy_sp01_0
MQTT2_ESP_Easy_sp01_0-2021.log
text
FileLog_MQTT2_Zimmerbrunnen
MQTT2_Zimmerbrunnen-2021.log
text
Logfile
fhem-2021-02.log
text
alexaFHEMlog
alexa-2021-02-16.log
text
alexa-2021-02-17.log
text
alexa-2021-02-18.log
text
Global
global
no definition
MQTT2_DEVICE
MQTT2_DVES_239408
???
MQTT2_ESP_Easy_0
???
MQTT2_ESP_Easy_akeller_0
???
MQTT2_ESP_Easy_sp01_0
???
MQTT2_Zimmerbrunnen
???
MQTT2_SERVER
myBroker
Initialized
myBroker_192.168.178.118_54039
Connected
myBroker_192.168.178.31_62087
Connected
myBroker_192.168.178.68_26306
Connected
RPi
sysmon
Initialized
No Logdevice /FileLog_sysmon/
alexa
alexa
autocreate
autocreate
active
eventTypes
eventTypes
active
notify
initialUsbCheck
2021-02-17 14:29:19
telnet
telnetForBlockingFn_1613568567
Initialized
Wir können ja noch mal den grep versuchen, geht auch direkt in der FHEM Eingabezeile:
{qx(grep Keller ./fhem.cfg -C2)}
Hi
Irgendwie fehlt auch der Teil vor ESPEasy!
Also genau das was wir wissen wollen!
Hier das Ergebniss vom Grep
attr FileLog_Kueche logtype text
attr FileLog_Kueche room FS20
define Keller FS20 466a a8
setuuid Keller 6026487c-f33f-a3c4-db61-08e4d1db3c86d2eb
attr Keller IODev nanoCUL
attr Keller room FS20
define FileLog_Keller FileLog ./log/Keller-%Y.log Keller
setuuid FileLog_Keller 6026487c-f33f-a3c4-fa59-46546dedcdd47416
attr FileLog_Keller logtype text
attr FileLog_Keller room FS20
define ESPEasy_ESP_Easy_Pflanze_01 ESPEasy 192.168.178.25 80 espBridge ESP_Easy_Pflanze_01
setuuid ESPEasy_ESP_Easy_Pflanze_01 60264e98-f33f-a3c4-dce9-4cb55b4cd55bb4c7
--
attr ESPEasy_ESP_Easy_Pflanze_01 room ESPEasy
attr ESPEasy_ESP_Easy_Pflanze_01 setState 3
define Kellersteckdose DOIF ([21:00-04:00] or ([ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off")) \
(set Keller off) \
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
setuuid Kellersteckdose 60265865-f33f-a3c4-c878-c85d4048843f3281
attr Kellersteckdose cmdState off|on
attr Kellersteckdose readingList desired,hysterese
attr Kellersteckdose setList desired:16,18,19,20,21,22 hysterese:1,2,3,5
attr Kellersteckdose webCmd desired:hysterese
define ESPEasy_ESP_Easy_kueche ESPEasy 192.168.178.97 80 espBridge ESP_Easy_kueche
setuuid ESPEasy_ESP_Easy_kueche 60267bf4-f33f-a3c4-38e7-56c9fa6df80d8e73
Muss mal sehen was vor dem ESPEASY noch steht
Ist irgendwas mit der Dose? Keller FS20 466a a8 direkt gekoppelt? Also schaltet da etwas auf FS20 Verbindung herum? Es gab da ja auch eine Wand-Zentrale mit der man steuern konnte.
Ich habe im Zimmer noch ein Funkthermostat dass ich per Hand schalten kann.
Was du meinst Keller 466a a8 ist die FS20 Steckdose.
BTN
a8
DEF
466a a8
FUUID
6026487c-f33f-a3c4-db61-08e4d1db3c86d2eb
IODev
nanoCUL
LASTInputDev
nanoCUL
MSGCNT
18
NAME
Keller
NR
24
STATE
on
TYPE
FS20
XMIT
466a
nanoCUL_MSGCNT
18
nanoCUL_RAWMSG
810c04xx0101a001466aa8003800
nanoCUL_RSSI
-56.5
nanoCUL_TIME
2021-02-18 15:17:15
Ich kann mal den Sender mal deaktiviern
Sieht man im FileLog_Keller eigentlich die Schaltvorgänge?
2021-02-17_20:39:13 Keller off-for-timer
2021-02-17_23:51:13 Keller off-for-timer
2021-02-18_00:07:13 Keller off-for-timer
2021-02-18_01:23:13 Keller off-for-timer
2021-02-18_01:35:14 Keller off-for-timer
2021-02-18_01:51:14 Keller off-for-timer
2021-02-18_04:00:38 Keller on
2021-02-18_05:07:14 Keller off-for-timer
2021-02-18_08:08:45 Keller off
2021-02-18_08:09:08 Keller off
2021-02-18_08:10:20 Keller on
2021-02-18_08:57:14 Keller off-for-timer
2021-02-18_09:57:53 Keller on
2021-02-18_10:46:57 Keller off
2021-02-18_10:46:59 Keller on
2021-02-18_10:57:14 Keller off-for-timer
2021-02-18_11:00:53 Keller off
2021-02-18_11:01:14 Keller off-for-timer
2021-02-18_11:01:18 Keller off
2021-02-18_11:01:42 Keller on
2021-02-18_11:06:10 Keller off
2021-02-18_11:06:11 Keller on
2021-02-18_11:53:14 Keller off-for-timer
2021-02-18_12:05:14 Keller off-for-timer
2021-02-18_12:20:44 Keller off
2021-02-18_12:21:31 Keller on
2021-02-18_12:25:15 Keller off-for-timer
2021-02-18_12:28:46 Keller on
2021-02-18_13:45:53 Keller off
2021-02-18_13:45:54 Keller on
2021-02-18_14:09:15 Keller off-for-timer
2021-02-18_14:57:15 Keller off-for-timer
2021-02-18_14:59:23 Keller on-for-timer
2021-02-18_15:17:15 Keller off-for-timer
2021-02-18_15:22:37 Keller on
Also aus der Schaltfolge werde ich nicht schlau
Sowas dürfte auch das DOIF nicht erzeugen:
Zitat2021-02-18_12:28:46 Keller on
2021-02-18_13:45:53 Keller off
2021-02-18_13:45:54 Keller on
Aber woher die ox-for-timer kommen? Kannst Du den Wandthermostat mal den Funk abdrehen? -> in den Stahlschrank legen oder "mit zur Oma" nehmen?
Zitat von: reimundko am 18 Februar 2021, 14:53:48
Muss mal sehen was vor dem ESPEASY noch steht
Da das Alphabetisch ist, sollte da die DOIF zumindest davor sein. Und halt der Rest!
Was auch komisch ist, dass der gar nicht auftaucht! Da autocreate an ist, sollte es den ja irgendwie geben!?
Achso. Keller ON und Keller OFF das habe ich per Hand gemacht um zu sehen, ob das überhaupt schaltet.
Sorry, hatte ich nicht erwähnt.
Das ist was vor espeasy< steht
Moin
Das ist irgendwie strange! Das Doif steht noch auf initialized, ich gehe davon aus, dass du es so ca. um 12:19 geaendert hast. Und seitdem ist es nie getriggered worden?
Der FS20 hat aber jede Menge Aktionen durchgefuehrt!
Gib uns doch bitte mal ein list von Keller und Kellersteckdose! Und weil es so schoen ist, von Kueche und Kuechensteckdose auch!
Wenn Du doch einen Wandthermostaten hast, der Keller schaltet, dann muss der doch auch FS20 sein. Warum taucht der nicht auf? Hast Du den auf ignore gesetzt?
So langsam habe ich die Vermutung, dass Du einen netten Nachbarn hast!?
Gruss Christoph
Das werde ich im laufe des Tages machen.
Heute morgen war die Heizung im Keller an. Sehr angenehm. Küche geht noch nicht, weil ich dort keinen Empfang habe. Muss die Antenne mal erweitern, oder den Fhem wo anders hinstellen.
Aber seltsamerweisse habe ich etwas neues, was ich nie eingerichtet habe. Keine Ahnung was das ist.
FHT das sind doch die älteren - vor Homematic - Thermostate von eq3? Wo man auch FS20 Steckdosen mit schalten konnte ;)
Zitat von: Otto123 am 19 Februar 2021, 09:10:43
Wo man auch FS20 Steckdosen mit schalten konnte ;)
Das - meines Wissens nach - nicht. Aber
FHT und
FS20 laufen in der Regel beide über das gleiche IODev
CUL.
Ich meine die Wandthermostate (in der Mitte vom Bild) - die waren so eine Art Zentrale. Ich bilde mir ein, damit habe ich früher meine Weihnachstbeleuchtung geschaltet ;)
Und ich habe die ganze Zeit den Verdacht, dass bei reimundko so ein Ding mitmischt.
Zitat von: Otto123 am 19 Februar 2021, 09:26:55
Ich meine die Wandthermostate (in der Mitte vom Bild) - die waren so eine Art Zentrale. Ich bilde mir ein, damit habe ich früher meine Weihnachstbeleuchtung geschaltet ;)
Und ich habe die ganze Zeit den Verdacht, dass bei reimundko so ein Ding mitmischt.
Bestimmt noch aus der Zeit vor fhem, denn das sieht ja sehr nackt aus!
Wo ich nun das Bild sehe. Genau so sehen meine Raumthermostate aus
Moin
Okay, dann haben wir ja den Kandidaten!
Hier auf Seite 13 steht wie Du die Verbindung der Beiden loesen kannst! https://files2.elv.com/public/10/1045/104537/Internet/104537_fs20_st4_um.pdf
Sofern Du das denn moechtest.
Gruss Christoph
Edith: Es kann sein, dass fhem die dann auch nicht mehr schalten kann. Dann einfach neu einbinden. Kenne mich mit FS20 nicht aus!
ZitatFHT das sind doch die älteren - vor Homematic - Thermostate von eq3? Wo man auch FS20 Steckdosen mit schalten konnte
Äh - nö.
ZitatAber FHT und FS20 laufen in der Regel beide über das gleiche IODev CUL.
Äh - doch.
Glaubt mir, ich hatte einen ganzen Zoo davon.
LG
pah
Habe noch eine Frage. Wenn ich das Raumtheromstat ausschalte funktioniert alles.
Jetzt mein Problem.
Die Heizung schaltet sich ein wenn ich z.b. 19 / 1 stehe habe.
Temperatur 18 Grad.
Allerdings schaltet sie sich nicht mehr aus.
Temperatursensor zeigt dann z.b. 24.50 Grad an.
Wie kann ich Fhem sagen, dass der die Heizung bei z.b. 20 oder 21 Grad ausschalten kann ?
Ich werde folgendes probieren.
define Kellersteckdoseausschalten DOIF ([ESPEasy_ESP_Easy_dht:Temperature] >=20) (set Keller off)
Moin,
ich erkenne den letzten Stand Deines DOIFs nicht. Meinen Vorschlag hattest Du zuletzt mit verkehrter Zeitspanne umgesetzt.
Danach hast Du wie von mir vermutet den Wandthermostaten als "Störsender" enttarnt und aus dem Rennen genommen?
Kannst Du, damit alle wissen von was wir jetzt sprechen, bitte nochmal Dein aktuelles DOIF zeigen - als list oder als RawDef?
Gruß Otto
Zitatdefmod Kellersteckdose DOIF (([18:00 - 08:00] or [ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off")) \
(set Keller off) \
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
attr Kellersteckdose cmdState off|on
attr Kellersteckdose readingList desired,hysterese
attr Kellersteckdose setList desired:16,18,19,20,21,22 hysterese:1,2,3,5
attr Kellersteckdose webCmd desired:hysterese
setstate Kellersteckdose on
setstate Kellersteckdose 2021-03-17 11:24:37 Device ESPEasy_ESP_Easy_dht
setstate Kellersteckdose 2021-03-21 10:46:37 cmd 2
setstate Kellersteckdose 2021-03-21 10:46:37 cmd_event Kellersteckdose
setstate Kellersteckdose 2021-03-21 10:46:37 cmd_nr 2
setstate Kellersteckdose 2021-03-21 16:20:41 desired 19
setstate Kellersteckdose 2021-03-17 11:24:37 e_ESPEasy_ESP_Easy_dht_Temperature 20.00
setstate Kellersteckdose 2021-03-17 11:24:57 e_Kellersteckdose_desired 21
setstate Kellersteckdose 2021-03-14 15:27:14 e_Kellersteckdose_hysterese 1
setstate Kellersteckdose 2021-03-21 16:20:01 hysterese 2
setstate Kellersteckdose 2021-03-17 11:25:16 last_cmd on
setstate Kellersteckdose 2021-03-17 11:25:16 mode disabled
setstate Kellersteckdose 2021-03-21 10:46:37 state on
setstate Kellersteckdose 2021-03-21 08:00:00 timer_01_c01 21.03.2021 18:00:00
setstate Kellersteckdose 2021-03-21 08:00:00 timer_02_c01 22.03.2021 08:00:00
setstate Kellersteckdose 2021-03-17 11:25:16 mode disabled
Das DOIF ist nicht aktiv?
Achso. Nein da habe ich etwas probiert. Sorry. Und zwar das mit dem Kellersteckdosenausschalten
Naja aber wenn jetzt das DOIF deaktiviert ist, kann es nicht regeln. Wenn also die Steckdose ein ist wird sie keiner ausschalten.
Ja das ist klar.
Habe jetzt dass sie einschaltet wenn 19 Grad oder weniger-
Das habe ich nun eingebaut mit Kellersteckdoseausschalten
defmod Kellersteckdoseausschalten DOIF ([ESPEasy_ESP_Easy_dht:Temperature] >=20) (set Keller off)
setstate Kellersteckdoseausschalten cmd_2
setstate Kellersteckdoseausschalten 2021-03-21 18:21:06 Device ESPEasy_ESP_Easy_dht
setstate Kellersteckdoseausschalten 2021-03-21 17:48:43 cmd 2
setstate Kellersteckdoseausschalten 2021-03-21 17:48:43 cmd_event ESPEasy_ESP_Easy_dht
setstate Kellersteckdoseausschalten 2021-03-21 17:48:43 cmd_nr 2
setstate Kellersteckdoseausschalten 2021-03-21 18:21:06 e_ESPEasy_ESP_Easy_dht_Temperature 19.50
setstate Kellersteckdoseausschalten 2021-03-21 16:47:58 mode enabled
setstate Kellersteckdoseausschalten 2021-03-21 17:48:43 state cmd_2
Wenn nun 20 Grad und mehr ist schaltet die Steckdose aus.
Also das funktioniert soweit.
Allerdings schaltet die sich nun nicht mehr ein, auch wenn ich 18 Grad habe
tut mir leid - ich verstehe Dich nicht. Das DOIF aus #56 sollte - wenn es nicht deaktiviert ist - die Temperatur genauso regeln wie Du möchtest.
Wenn DU jetzt etwas neues bauen möchtest kannst DU dich daran orientieren. Das was DU jetzt gebaut hast ist ein temperaturgesteuerter Ausschalter.
Warum willst Du jetzt alles getrennt machen?
OH. verdammt dann habe ich einen Gedankenfehler.
Dann versuche ich es nochmals und entferne meine neuen Sachen. Danke
Hallo muss da noch mal was fragen. Lief monatelang einwandfrei. Seit einigen Tagen schaltet sich die Heizung nicht mehr an.
Habe ich da irgendwas noch verkehrt ?
Danke
Raumtemoeratur ist ca. 18 Grad.
was ist verkehrt? Soll steht auf 16, der Raum hat 18, der Schalter ist aus. ?
Danke ja, das war es nicht. Habe jetzt mal
e_ESPEasy_ESP_Easy_dht:Temperature
geändert. Stand die ganze Zeit auf
ESPEasy_ESP_Easy_dht:Temperature
irgendwie ist bei den Readings ein e_ davor gekommen
Du bist verwirrt :o
Du redest von readings und vermischst das mit Geräten!
Oder hast Du Dein Gerät ESPEasy_ESP_Easy_dht umbenannt!?
Dein Temperaturmessdevice ESPEasy_ESP_Easy_dht dein Reading dort ESPEasy_ESP_Easy_dht:temperature
Dein event Reading im DOIF e_ESPEasy_ESP_Easy_dht_temperature
Readings, die im DOIF mit e_ beginnen haben nur einen informativen Charakter, sie zeigen an, wann ein Event vom jeweiligen DEVICE beim DOIF angekommen ist.
Diese Readings sollte man nicht im DOIF abfragen - das macht keinen Sinn.
OK dann war das ein Gedankenfehler von mir. Werde das dann wieder rückgängig machen
Muss da nochmals was fragen.... Winterzeit. Also starte ich das Gerät mal wieder.
Ich muss allerdings immer manuell Set Kellersteckdose Checkall anklicken damit die Heizung sich einschaltet. Geht dann von alleine aus, wenn die Temperatur erreicht wird. Allerdings nicht mehr automatisch wieder an. Muss ich wieder manuell machen.
Wo könnte da der Fehler noch sein.
Habe an den Settings nichts geändert.
Muss nach langer Zeit nochmals was fragen.
Die Heizung lässt sich prima einschalten.
z.b. 14 Grad im Raum
Ich muss aber immer manuell Set Checkall drücken, damit die Heizung sich einschaltet. Wenn die Temperatur ereicht ist, schaltet sich die aus.
Und das war es.
Muss immer wieder manule Set drücken.
Kann man das auch einstellen, dass es immer wieder automatisch Grad. Also den ganzen Tag ?
http://privatportal.dyndns.org:99/fhem/fhem.jpg (http://privatportal.dyndns.org:99/fhem/fhem.jpg)
ein list ist besser als ein Bild!
Dein Reading im Vergleich [e_ESPEasy_ESP_Easy_dht:Temperature] sieht komisch aus. Bist Du sicher, dass das stimmt?
Zitat von: reimundko am 21 März 2021, 18:22:54defmod Kellersteckdoseausschalten DOIF ([ESPEasy_ESP_Easy_dht:Temperature] >=20) (set Keller off)
Ich bin mir sicher es stimmt nicht ;) siehe auch den Beitrag #66 der Fehler liegt also ca. ein Jahr zurück.
Wenn Du immer checkall machen musst kann am fehlenden do always liegen, aber um das zu beurteilen bräuchte man ein list (oder CopyForForum) vom Gerät.
Danke wie kann ich ein List vom Gerät herstellen?
PS: defmod Kellersteckdoseausschalten DOIF ([ESPEasy_ESP_Easy_dht:Temperature] >=20) (set Keller off)
habe ich hier aus dem Forum bekommen. Finde aber nicht mehr wo ich das geschrieben habe.#
Seit dem das eingebunden ist, läuft die Heizung ja, wenn auch nur manuell im Moment
Hier steht zwar mehr aber sowohl list und Copy for Forum sind etwa in der Mitte des Beitrages erklärt
https://forum.fhem.de/index.php/topic,71806.0.html
in deinem Bild sind die Readings falsch, habe ich vor einem Jahr erklärt!
Es muss [ESPEasy_ESP_Easy_dht:Temperature] heißen.
Wenn derzeit überhaupt was geht ist es blanker Zufall oder Du schaltest quasi die Dose manuell!
OK danke. also List devicename ? HM OK. Kellersteckdose ist aber nicht der devicename....... Aber ich schaue erst mal selber weiter.
OK Klein Grosschreibung nicht beachtet.
Internals:
DEF (([20:00 - 07:00] or [e_ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off"))
(set Keller off)
DOELSEIF ([e_ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
FUUID 60265865-f33f-a3c4-c878-c85d4048843f3281
MODEL FHEM
NAME Kellersteckdose
NOTIFYDEV global,e_ESPEasy_ESP_Easy_dht,Kellersteckdose
NR 52
NTFY_ORDER 50-Kellersteckdose
STATE on
TYPE DOIF
VERSION 27262 2023-02-21 19:36:39
eventCount 125
READINGS:
2023-12-05 08:31:13 cmd 2
2023-12-05 08:31:13 cmd_event Kellersteckdose
2023-12-05 08:31:13 cmd_nr 2
2023-12-02 16:32:56 desired 17
2023-12-02 16:32:56 e_Kellersteckdose_desired 17
2023-12-05 08:31:13 e_Kellersteckdose_hysterese 3
2023-12-05 08:31:13 hysterese 3
2023-12-02 14:37:51 mode enabled
2023-12-05 08:31:13 state on
2023-12-05 07:00:00 timer_01_c01 05.12.2023 20:00:00
2023-12-05 07:00:00 timer_02_c01 06.12.2023 07:00:00
2023-12-05 08:31:19 warning condition c02: Argument "" isn't numeric in numeric lt (<)
Regex:
accu:
bar:
barAvg:
collect:
cond:
Kellersteckdose:
0:
desired ^Kellersteckdose$:^desired:
hysterese ^Kellersteckdose$:^hysterese:
1:
desired ^Kellersteckdose$:^desired:
hysterese ^Kellersteckdose$:^hysterese:
e_ESPEasy_ESP_Easy_dht:
0:
Temperature ^e_ESPEasy_ESP_Easy_dht$:^Temperature:
1:
Temperature ^e_ESPEasy_ESP_Easy_dht$:^Temperature:
attr:
cmdState:
0:
off
1:
on
wait:
waitdel:
condition:
0 (::DOIF_time($hash,0,1,$wday,$hms) or ::ReadingValDoIf($hash,'e_ESPEasy_ESP_Easy_dht','Temperature')>(::ReadingValDoIf($hash,'Kellersteckdose','desired')+::ReadingValDoIf($hash,'Kellersteckdose','hysterese')/2) and ::ReadingValDoIf($hash,'Keller','state') ne "off")
1 ::ReadingValDoIf($hash,'e_ESPEasy_ESP_Easy_dht','Temperature')<(::ReadingValDoIf($hash,'Kellersteckdose','desired')-::ReadingValDoIf($hash,'Kellersteckdose','hysterese')/2)
days:
do:
0:
0 set Keller off
1:
0 set Keller on
2:
helper:
NOTIFYDEV global,e_ESPEasy_ESP_Easy_dht,Kellersteckdose
event hysterese: 3
globalinit 1
last_timer 2
sleeptimer -1
timerdev
timerevent hysterese: 3
timerevents
timereventsState
triggerDev
internals:
interval:
0 -1
1 0
intervalfunc:
intervaltimer:
localtime:
0 1701802800
1 1701842400
perlblock:
readings:
all e_ESPEasy_ESP_Easy_dht:Temperature Kellersteckdose:desired Kellersteckdose:hysterese
realtime:
0 20:00:00
1 07:00:00
time:
0 20:00:00
1 07:00:00
timeCond:
0 0
1 0
timer:
0 0
1 0
timers:
0 0 1
trigger:
triggertime:
1701802800:
localtime 1701802800
hash:
1701842400:
localtime 1701842400
hash:
uiState:
uiTable:
Attributes:
cmdState off|on
readingList desired,hysterese
setList desired:15,16,17,18,19,20,21,22 hysterese:1,2,3,5
webCmd desired:hysterese
Du meinst also DEF (([20:00 - 07:00] or [ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off"))
(set Keller off)
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
das ist die raw
defmod Kellersteckdose DOIF (([20:00 - 07:00] or [ESPEasy_ESP_Easy_dht:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off")) \
(set Keller off) \
DOELSEIF ([ESPEasy_ESP_Easy_dht:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)\
attr Kellersteckdose cmdState off|on
attr Kellersteckdose readingList desired,hysterese
attr Kellersteckdose setList desired:15,16,17,18,19,20,21,22 hysterese:1,2,3,5
attr Kellersteckdose webCmd desired:hysterese
setstate Kellersteckdose initialized
setstate Kellersteckdose 2023-12-05 11:49:26 Device ESPEasy_ESP_Easy_dht
setstate Kellersteckdose 2023-12-05 11:47:01 cmd 0
setstate Kellersteckdose 2023-12-05 11:47:18 desired 16
setstate Kellersteckdose 2023-12-05 11:49:26 e_ESPEasy_ESP_Easy_dht_Temperature 17.10
setstate Kellersteckdose 2023-12-05 11:47:18 e_Kellersteckdose_desired 16
setstate Kellersteckdose 2023-12-05 08:31:13 hysterese 3
setstate Kellersteckdose 2023-12-05 11:47:01 mode enabled
setstate Kellersteckdose 2023-12-05 11:47:01 state initialized
setstate Kellersteckdose 2023-12-05 11:47:01 timer_01_c01 05.12.2023 20:00:00
setstate Kellersteckdose 2023-12-05 11:47:01 timer_02_c01 06.12.2023 07:00:00
Ich würde vermuten so funktioniert es. Du hast im vorigen Jahr einfach vergessen weiter zu machen :)
Zitat von: reimundko am 07 November 2022, 13:33:13OK dann war das ein Gedankenfehler von mir. Werde das dann wieder rückgängig machen
Muss da noch mal etwas fragen. Die Heizung schaltet sich nicht automatisch an. Muss immer per Hand SET Kellersteckdose anklicken.
Und ich bekommem eine Fehlermeldung. sie letzte Zeile. Wie kann man das beheben ?
defmod Kellersteckdose DOIF (([20:00 - 07:00] or [e_ESPEasy_ESP_Easy_ds18b20:Temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?Keller:state] ne "off")) \
(set Keller off) \
DOELSEIF ([e_ESPEasy_ESP_Easy_ds18b20:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
attr Kellersteckdose cmdState off|on
attr Kellersteckdose readingList desired,hysterese
attr Kellersteckdose setList desired:15,16,17,18,19,20,21,22 hysterese:1,2,3,5
attr Kellersteckdose webCmd desired:hysterese
setstate Kellersteckdose on
setstate Kellersteckdose 2024-12-18 11:34:29 cmd 2
setstate Kellersteckdose 2024-12-18 11:34:29 cmd_event Kellersteckdose
setstate Kellersteckdose 2024-12-18 11:34:29 cmd_nr 2
setstate Kellersteckdose 2024-12-18 11:39:39 desired 18
setstate Kellersteckdose 2024-12-18 11:39:39 e_Kellersteckdose_desired 18
setstate Kellersteckdose 2024-12-18 11:36:46 e_Kellersteckdose_hysterese 2
setstate Kellersteckdose 2024-12-18 11:36:46 hysterese 2
setstate Kellersteckdose 2024-12-12 16:54:04 mode enabled
setstate Kellersteckdose 2024-12-18 11:34:29 state on
setstate Kellersteckdose 2024-12-18 07:00:00 timer_01_c01 18.12.2024 20:00:00
setstate Kellersteckdose 2024-12-18 07:00:00 timer_02_c01 19.12.2024 07:00:00
setstate Kellersteckdose 2024-12-18 12:09:30 warning condition c02: Argument "" isn't numeric in numeric lt (<)\
Zitat von: reimundko am 18 Dezember 2024, 12:13:59warning condition c02: Argument "" isn't numeric in numeric lt (<)\
condition c02 ist
DOELSEIF ([e_ESPEasy_ESP_Easy_ds18b20:Temperature]<([$SELF:desired]-[$SELF:hysterese]/2)) (set Keller on)
Die fehlermeldung sagt, dass "" für den Vergleich nicht geeignet ist, da nicht numerisch.
Nachdem desired mit 18 und hysterese mit 2 ziemlich numerisch ausschauen, würde ich vermuten, dass in e_ESPEasy_ESP_Easy_ds18b20:Temperature nichts sinnvolles drinsteht?
Schalten sollte der DOELSIF bei [e_ESPEasy_ESP_Easy_ds18b20:Temperature] < 17
Weiterhin vermute ich, dass das ausschalten nur nach timer funktioniert und nicht nach Temperatur, da dort [e_ESPEasy_ESP_Easy_ds18b20:Temperature] wahrscheinlich auch keinen sinnvollen Wert hat.
Zitat von: reimundko am 18 Dezember 2024, 12:13:59e_ESPEasy_ESP_Easy_ds18b20
Diese reading sieht für mich nach Müll aus. Das ist mMn ein temporäres Reading aus einem DOIF.
Vielleicht ist ESPEasy_ESP_Easy_ds18b20 etwas "ordentliches" :))
Danke glaube das war es. Funktioniert einwandfrei