Zeitschaltuhr - doppelter Eintrag im Log

Begonnen von Jackson, 14 Februar 2017, 14:59:55

Vorheriges Thema - Nächstes Thema

Jackson

Hallo,

ich habe eine Zeitschaltuhr definiert, die mein Wlan ein/auschalten soll. Hintergrund ist, dass ich es mit anderen Abhängigkeiten in FHEM steuern kann. Somit reicht mir die nicht Möglichkeit über das FRITZ-WebIF .

Grundsätzlich funktioniert diese Uhr auch


define WLAN WeekdayTimer FRITZ.Master 12345|06:45|wlan:on 12345|12:00|wlan:off


Jetzt werden aber immer zu jedem Schaltpunkt zwei Log-Einträge generiert. Und ich weiß einfach nicht warum. Wird der Befehl solange wiederholt, wie es 06:45 ist???  :o :-\



..
2017.02.14 06:45:00 3: FRITZBOX: set FRITZ.Master wlan on
2017.02.14 06:45:01 3: FRITZBOX: set FRITZ.Master wlan on
..



Das gleiche bekomme ich auch, wenn ich die Zeitschaltuhr über ein DOIF realisiere. Hat einer eine Idee warum es zwei Log-Einträge gibt?

Gruss und Danke



FHEM5.9@RPI3

Weisnich

Hallo Leute,

das selbe bei mir mit knx: Taster mit 8 Tasten, 8 LED Statusanzeigen, Temperatursensor etc

Device:

#KNX 3/1/0 T_EG_Flur_Eingang
#----------------------------------------------------------------------------------------------------
define T_EG_Flur_Eingang KNX 3/1/0:dpt1.001:t1 3/1/1:dpt1.001:t2 3/1/2:dpt1.001:t3 3/1/3:dpt1.001:t4 3/1/4:dpt1.001:t5 3/1/5:dpt1.001:t6 3/1/6:dpt1.001:t7 3/1/7:dpt1.001:t8 3/1/8:dpt1.001:led1 3/1/9:dpt1.001:led2 3/1/10:dpt1.001:led3 3/1/11:dpt1.001:led4 3/1/12:dpt1.001:led5 3/1/13:dpt1.001:led6 3/1/14:dpt1.001:led7 3/1/15:dpt1.001:led8 3/1/20:dpt1.001:led0 3/1/21:dpt1.001:tag 3/1/22:dpt9.001:temperatur
attr T_EG_Flur_Eingang IODev KNX
attr T_EG_Flur_Eingang room Taster
attr T_EG_Flur_Eingang sortby 101
attr T_EG_Flur_Eingang stateRegex /getg1:/t1/ /getg2:/t2/ /getg3:/t3/ /getg4:/t4/ /getg5:/t5/ /getg6:/t6/ /getg7:/t7/ /getg8:/t8/ /setg9:/led1/ /setg10:/led2/ /setg11:/led3/ /setg12:/led4/ /setg13:/led5/ /setg14:/led6/ /setg15:/led7/ /setg16:/led8/ /setg17:/led0/ /setg18:/tag/ /getg19:/temperatur/
attr T_EG_Flur_Eingang webCmd :


Log

define T_EG_Flur_Eingang_Log FileLog ./log/T_EG_Flur_Eingang-%Y-%m.log T_EG_Flur_Eingang:(temperatur).*
attr T_EG_Flur_Eingang_Log room Logs
attr T_EG_Flur_Eingang_Log sortby 101
attr T_EG_Flur_Eingang_Log verbose 0


Log:

2017-03-15_02:14:35 T_EG_Flur_Eingang temperatur-get: 20.00 °C
2017-03-15_02:14:35 T_EG_Flur_Eingang temperatur-get:20.00 °C
2017-03-15_07:56:19 T_EG_Flur_Eingang temperatur-get: 20.20 °C
2017-03-15_07:56:19 T_EG_Flur_Eingang temperatur-get:20.20 °C
2017-03-15_07:58:37 T_EG_Flur_Eingang temperatur-get: 20.00 °C
2017-03-15_07:58:37 T_EG_Flur_Eingang temperatur-get:20.00 °C
2017-03-15_08:22:01 T_EG_Flur_Eingang temperatur-get: 20.20 °C
2017-03-15_08:22:01 T_EG_Flur_Eingang temperatur-get:20.20 °C
2017-03-15_08:27:43 T_EG_Flur_Eingang temperatur-get: 20.00 °C
2017-03-15_08:27:43 T_EG_Flur_Eingang temperatur-get:20.00 °C
2017-03-15_08:30:21 T_EG_Flur_Eingang temperatur-get: 20.20 °C
2017-03-15_08:30:21 T_EG_Flur_Eingang temperatur-get:20.20 °C
2017-03-15_09:23:34 T_EG_Flur_Eingang temperatur-get: 20.40 °C
2017-03-15_09:23:34 T_EG_Flur_Eingang temperatur-get:20.40 °C
2017-03-15_10:20:32 T_EG_Flur_Eingang temperatur-get: 20.60 °C
2017-03-15_10:20:32 T_EG_Flur_Eingang temperatur-get:20.60 °C
2017-03-15_12:27:19 T_EG_Flur_Eingang temperatur-get: 20.80 °C
2017-03-15_12:27:19 T_EG_Flur_Eingang temperatur-get:20.80 °C
2017-03-15_13:19:28 T_EG_Flur_Eingang temperatur-get: 20.60 °C
2017-03-15_13:19:28 T_EG_Flur_Eingang temperatur-get:20.60 °C
2017-03-15_13:27:46 T_EG_Flur_Eingang temperatur-get: 20.80 °C
2017-03-15_13:27:46 T_EG_Flur_Eingang temperatur-get:20.80 °C
2017-03-15_13:30:32 T_EG_Flur_Eingang temperatur-get: 20.60 °C
2017-03-15_13:30:32 T_EG_Flur_Eingang temperatur-get:20.60 °C
2017-03-15_14:14:56 T_EG_Flur_Eingang temperatur-get: 20.80 °C
2017-03-15_14:14:56 T_EG_Flur_Eingang temperatur-get:20.80 °C


Ich habe schon versucht, dem Taster-Device unterschiedliche verbose-Attribut-Werte zu geben, ohne weiter zu kommen.

Hat jemand eine Idee dazu?

Gruß,
Michael

Trebor5

Hallo ,

ich habe das gleiche Problem kenne aber leider keine Lösung.

2017.03.22 01:28:03 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:04 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:05 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:05 3: CUL_HM set BVB_Licht on-for-timer 237
2017.03.22 01:28:05 3: CUL_HM set Terrassenlicht on-for-timer 237
2017.03.22 01:28:05 3: CUL_HM set BVB_Licht on-for-timer 237
Odroid N2,Hauptsensoren Homematic + 1 Wire + 8Kanal Homematic auf Relay Schaltung. Forum Beiträge sind meine letzte Hoffnung nach Stundenlangen erfolglosen suchen und probieren.

Weisnich

Hallo Leute,

ich habe eine Lösung gefunden, bei den KNX-Readings jeweils nur einmal zu loggen:

Ausgangssituation:
Ich habe einen KNX Heizungsaktor für die Heizung im Flur

#KNX 8/1/0 H_EG_Flur
#----------------------------------------------------------------------------------------------------
define H_EG_Flur KNX 8/1/0:dpt9.001:temperatur 8/1/3:dpt5.001:stellwert 8/1/6:dpt9.001:sollwertkomfort 8/1/8:dpt9.001:sollwertverschiebung 8/1/9:dpt9.001:sollwert 8/1/11:dpt5.001:hvac 8/1/13:dpt1.001:komfort 8/1/14:dpt1.001:nacht 8/1/15:dpt1.001:frostschutz 8/1/16:dpt1.001:frostalarm 8/1/17:dpt1.001:hitzealarm
attr H_EG_Flur IODev KNX
attr H_EG_Flur room Heizung
attr H_EG_Flur sortby 101
attr H_EG_Flur stateRegex /setG1:/temperatur:/ /getG2:/stellwert:/ /setG3:/sollwertkomfort:/ /setG4:/sollwertverschiebung:/ /getG5:/sollwert:/ /getG6:/hvac:/ /setG7:/komfort:/ /setG8:/nacht:/ /setG9:/frostschutz:/ /getG10:/frostalarm:/ /getG11:/hitzealarm:/
attr H_EG_Flur webCmd :


Wie funktioniert der?
Über g1/temperatur-set übergibt man per KNX die Temperatur und per FHEM setzt man die Triade g7...9 tag-set ... frostschutz-set, je nach Tageszeit und Fensterstatus.
Ebenfalls kann man den Sollwert verschieben über g4/sollwert-set. Ich benutzte das für kälter/wärmer Tasten.

Output, der dann zu loggen ist, ist
- Temperatur: die bekomme ich nicht aus dem Aktor, sondern von dem Temperatursensor meiner Taster, siehe unten
- aktueller Sollwert = g5/sollwert-get
- aktuelle Stellwert= g2/stellwert-get

Die Temperatur übergibt der Taster im Eingangsbereich per KNX an den Aktor, stellt ihn damit aber auch für FHEM bereit:

#KNX 3/1/0 T_EG_Flur_Eingang
#----------------------------------------------------------------------------------------------------
define T_EG_Flur_Eingang KNX 3/1/0:dpt1.001:t1 3/1/1:dpt1.001:t2 3/1/2:dpt1.001:t3 3/1/3:dpt1.001:t4 3/1/4:dpt1.001:t5 3/1/5:dpt1.001:t6 3/1/6:dpt1.001:t7 3/1/7:dpt1.001:t8 3/1/8:dpt1.001:led1 3/1/9:dpt1.001:led2 3/1/10:dpt1.001:led3 3/1/11:dpt1.001:led4 3/1/12:dpt1.001:led5 3/1/13:dpt1.001:led6 3/1/14:dpt1.001:led7 3/1/15:dpt1.001:led8 3/1/20:dpt1.001:led0 3/1/21:dpt1.001:tag 3/1/22:dpt9.001:temperatur
attr T_EG_Flur_Eingang IODev KNX
attr T_EG_Flur_Eingang room Taster
attr T_EG_Flur_Eingang sortby 101
attr T_EG_Flur_Eingang stateRegex /getg1:/t1:/ /getg2:/t2:/ /getg3:/t3:/ /getg4:/t4:/ /getg5:/t5:/ /getg6:/t6/ /getg7:/t7:/ /getg8:/t8:/ /setg9:/led1:/ /setg10:/led2:/ /setg11:/led3:/ /setg12:/led4:/ /setg13:/led5:/ /setg14:/led6:/ /setg15:/led7:/ /setg16:/led8:/ /setg17:/led0:/ /setg18:/tag:/ /getg19:/temperatur:/
attr T_EG_Flur_Eingang webCmd :


Der hat 8 Tasten und 8 LED, hier interessiert aber nur gemessene Temperatur mit g19/temperatur-get.

Um die Log-Einträge zu vereinzeln, lese ich die Readings mittels readingsProxy aus:

#HEIZUNG: rp_H_EG_Flur_Temperatur
define rp_H_EG_Flur_Temperatur readingsProxy T_EG_Flur_Eingang:temperatur-get
attr rp_H_EG_Flur_Temperatur group 08_Heizung
attr rp_H_EG_Flur_Temperatur room Heizung
attr rp_H_EG_Flur_Temperatur sortby 100

#HEIZUNG: rp_H_EG_Flur_Sollwert
define rp_H_EG_Flur_Sollwert readingsProxy H_EG_Flur:sollwert-get
attr rp_H_EG_Flur_Sollwert group 08_Heizung
attr rp_H_EG_Flur_Sollwert room Heizung
attr rp_H_EG_Flur_Sollwert sortby 101

#HEIZUNG: rp_H_EG_Flur_Stellwert
define rp_H_EG_Flur_Stellwert readingsProxy H_EG_Flur:stellwert-get
attr rp_H_EG_Flur_Stellwert group 08_Heizung
attr rp_H_EG_Flur_Stellwert room Heizung
attr rp_H_EG_Flur_Stellwert sortby 102


Anschließend logge ich die Proxy-Readings

define H_EG_Flur_Log FileLog ./log/H_EG_Flur-%Y-%m.log rp_H_EG_Flur_Temperatur:.*|rp_H_EG_Flur_Sollwert:.*|rp_H_EG_Flur_Stellwert:.*
attr H_EG_Flur_Log group 08_Heizung
attr H_EG_Flur_Log room Logs
attr H_EG_Flur_Log sortby 101


Ergebnis:

2017-04-08_04:30:28 rp_H_EG_Flur_Sollwert 18.00 °C
2017-04-08_04:30:28 rp_H_EG_Flur_Stellwert 0 %
2017-04-08_04:30:28 rp_H_EG_Flur_Temperatur 20.30 °C
2017-04-08_04:31:43 rp_H_EG_Flur_Sollwert 18.00 °C
2017-04-08_04:31:43 rp_H_EG_Flur_Stellwert 0 %
2017-04-08_04:31:43 rp_H_EG_Flur_Temperatur 20.30 °C
2017-04-08_04:34:39 rp_H_EG_Flur_Temperatur 20.50 °C
2017-04-08_04:35:15 rp_H_EG_Flur_Temperatur 20.30 °C
2017-04-08_04:39:15 rp_H_EG_Flur_Temperatur 20.50 °C
2017-04-08_04:40:03 rp_H_EG_Flur_Temperatur 20.30 °C


Gruß,
Weisnich