[gelöst] Temperaturfühler nach Sonneneinstrahlung switchen

Begonnen von accessburn, 09 April 2018, 14:05:16

Vorheriges Thema - Nächstes Thema

accessburn

Hallo, ich habe zwei LaCrosse, einer vor dem Haus, einer Hinter dem Haus. Bisher hat ein Notify immer den Azimuth abgefragt und dann den Wert des nicht durch Sonne beeinflussten Sensors in einen Dummy geschrieben, der dann ins Log. Seit Februar läuft das schreiben in den Dummy nicht mehr und ich weiß nicht woran es liegt.

Kann mal jemand schauen?


Norify:
Zitatdefmod aussentemp_notify notify LaCrosse_(28|1A):(temperature|humidity).* {\
if ( ReadingsVal("Twilight", "azimuth", 361) > 78 && ReadingsVal("Twilight", "azimuth", 361) < 180 && Value("Sommerzeit") ne "off") {\ \
  fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_28") ;;;;\
}else{\
   fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;;;; \
}\ \
}

setstate aussentemp_notify 2018-04-09 14:57:18
setstate aussentemp_notify 2018-04-08 20:19:01 state active

Associate:
ZitatProbably associated with
LaCrosse_1A    T: 27.7 H: 34 D: 10.4   LaCrosse
LaCrosse_28    T: 21.5 H: 50 D: 10.6   LaCrosse
Sommerzeit     off   dummy
Twilight            6   Twilight
aussentemp_dummy    ? ? ?     dummy

Dummy
Zitatdefmod aussentemp_dummy dummy

setstate aussentemp_dummy 2018-02-08 19:51:04 humidity: 73
setstate aussentemp_dummy 2018-02-08 19:51:04 temperature: -0.1

LaCrosse_1A:
Zitatdefmod LaCrosse_1A LaCrosse 1A
attr LaCrosse_1A IODev myJeeLink
attr LaCrosse_1A alias Temp_außen_Wohnzimmerfenster
attr LaCrosse_1A group Temperatur
attr LaCrosse_1A icon scene_x-mas
attr LaCrosse_1A room Außen

setstate LaCrosse_1A T: 27 H: 31 D: 8.4
setstate LaCrosse_1A 2018-04-09 14:54:58 battery ok
setstate LaCrosse_1A 2018-04-09 14:54:58 dewpoint 8.4
setstate LaCrosse_1A 2018-04-09 14:54:58 humidity 31
setstate LaCrosse_1A 2018-04-09 13:59:55 statHumidityTendency 1h: -5 2h: -8 3h: -13 6h: -35
setstate LaCrosse_1A 2018-04-09 13:59:55 statTemperatureTendency 1h: +2.8 2h: +5.1 3h: +7.4 6h: +16.9
setstate LaCrosse_1A 2018-04-09 14:54:58 state T: 27 H: 31
setstate LaCrosse_1A 2018-04-09 14:54:58 temperature 27

LaCrosse_28:
Zitatdefmod LaCrosse_28 LaCrosse 28
attr LaCrosse_28 IODev myJeeLink
attr LaCrosse_28 alias Temp_außen_Haustür
attr LaCrosse_28 group Temperatur
attr LaCrosse_28 icon fts_door
attr LaCrosse_28 room Außen

setstate LaCrosse_28 T: 21.6 H: 50 D: 10.7
setstate LaCrosse_28 2018-04-09 14:55:26 battery ok
setstate LaCrosse_28 2018-04-09 14:55:26 dewpoint 10.7
setstate LaCrosse_28 2018-04-09 14:55:26 humidity 50
setstate LaCrosse_28 2018-04-09 14:55:26 state T: 21.6 H: 50
setstate LaCrosse_28 2018-04-09 14:55:26 temperature 21.6
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

nils_

hast du evtl. die namen geändert??

poste doch mal bitte ein list von den sensoren und vom notify.
viele Wege in FHEM es gibt!

accessburn

Die beiden LaCrosse hab ich noch angehängt und das Notify oben editiert, brauchst du noch etwas?

Ne, die Namen sind unverändert.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

nils_

also....
ein _list_ ist das immer noch nicht  ::)
list <devicename> in die kommandozeile von fhem eingeben, und das ergebnis dann in code(!)-tags hier posten. <devicename> bitte mit dem korrekten namen ersetzen.


dein notify funktioniert?? also wird aufgerufen?? (ansonsten nochmal neu erstellen. mit hilfe vom eventmonitor zb)
und nur die logik darin passt nicht??

dann lass dir doch mal die von dir verwendeten elemente (Event und Name) ausgeben per log.
vielleicht sieht man da dann schon den fehler.
viele Wege in FHEM es gibt!

accessburn

Internals:
   DEF        28
   IODev      myJeeLink
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2018-04-10 08:52:29
   MSGCNT     8586
   NAME       LaCrosse_28
   NR         436
   STATE      T: 21.1 H: 53 D: 11.1
   TYPE       LaCrosse
   addr       28
   battery_new 0
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 8640
   myJeeLink_RAWMSG OK 9 40 1 4 187 53
   myJeeLink_TIME 2018-04-10 08:52:29
   previousH  53
   previousT  21.1
   sensorType 0=T(H)
   READINGS:
     2018-04-10 08:52:29   battery         ok
     2018-04-10 08:52:29   dewpoint        11.1
     2018-04-10 08:52:29   humidity        53
     2018-04-10 08:52:29   state           T: 21.1 H: 53
     2018-04-10 08:52:29   temperature     21.1
Attributes:
   IODev      myJeeLink
   alias      Temp_außen_Haustür
   group      Temperatur
   icon       fts_door
   room       Außen


Internals:
   DEF        1A
   IODev      myJeeLink
   LASTInputDev myJeeLink
   LaCrosse_lastRcv 2018-04-10 08:53:37
   MSGCNT     8130
   NAME       LaCrosse_1A
   NR         111
   STATE      T: 13 H: 73 D: 8.3
   TYPE       LaCrosse
   addr       1A
   battery_new 0
   bufferedH 
   bufferedT 
   corr1      0
   corr2      0
   myJeeLink_MSGCNT 8163
   myJeeLink_RAWMSG OK 9 26 1 4 106 73
   myJeeLink_TIME 2018-04-10 08:53:37
   previousH  73
   previousT  13
   sensorType 0=T(H)
   READINGS:
     2018-04-10 08:53:37   battery         ok
     2018-04-10 08:53:37   dewpoint        8.3
     2018-04-10 08:53:37   humidity        73
     2018-04-10 07:59:55   statHumidityTendency 1h: +0 2h: +1 3h: +2 6h: +11
     2018-04-10 07:59:55   statTemperatureTendency 1h: +0.9 2h: +0.6 3h: -0.2 6h: -2.9
     2018-04-10 08:53:37   state           T: 13 H: 73
     2018-04-10 08:53:37   temperature     13
   helper:
     _98_statistics STATISTICS
Attributes:
   IODev      myJeeLink
   alias      Temp_außen_Wohnzimmerfenster
   group      Temperatur
   icon       scene_x-mas
   room       Außen


Ja das Notify wird aufgerufen, die Uhrzeit im State ändert sich ständig.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

nils_

Zitat von: accessburn am 10 April 2018, 08:55:37
Ja das Notify wird aufgerufen, die Uhrzeit im State ändert sich ständig.

dann weiter mit der liste :)

Zitat von: nils_ am 10 April 2018, 08:28:32
dann lass dir doch mal die von dir verwendeten elemente (Event und Name) ausgeben per log.
vielleicht sieht man da dann schon den fehler.
viele Wege in FHEM es gibt!

rvideobaer

Hallo,

Ich habe bei mir ein ähnliches Problem das ich auch mit 2 Sensoren gelöst habe. Aber ich erstelle ein userReading in dem ich die beiden Temp. Vergleiche und die niedrigste in das Reading schreiben lasse.

Gruß Rolf
Raspberry Pi 2, HM-Uart,1x HM-LC-Sw1PBU-FM, 1x HM-RC-2-PBU-FM,1x HM-LC-SW4-DR,1x HM-LC-Sw1-Pl-DN-R1,1x HM-TC-IT-WM-W-EU, 5x HM-CC-RT-DN und noch mehr

accessburn

Okay, hat ein wenig gedauert bis ich rausgefunden habe was du meinst  :D

Das Log spuckt nun brav folgendes aus:
Zitat2018.04.10 10:43:02 1: LaCrosse_1A aktiv


LaCrosse_(28|1A):(temperature|humidity).* {
if ( ReadingsVal("Twilight", "azimuth", 361) > 78 && ReadingsVal("Twilight", "azimuth", 361) < 180 && Value("Sommerzeit") ne "off") {\
   fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_28") ;; fhem(Log 1, "LaCrosse_28 aktiv");;
}else{
   fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;; fhem(Log 1, "LaCrosse_1A aktiv");;
}\
}


Also am Notify scheint es nicht zu liegen.
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Beta-User

Teste doch mal folgendes:
...
fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;; fhem(Log 1, "$NAME aktiv");;

...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

accessburn

#9
Produziert auch munter Einträge:

Zitat2018.04.10 11:16:07 1: LaCrosse_1A aktiv

Ich war auch mal so frei und hab ein $EVENT dahinter gesetzt um zu schauen ob überhaupt etwas drin steht, scheint so...

Zitat018.04.10 11:26:07 1: LaCrosse_1A aktiv temperature: 21.4
2018.04.10 11:26:07 1: LaCrosse_1A aktiv humidity: 53
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Beta-User

Scheint so, als würde $EVENT durch setreading nicht mehr als 2 Argumente verstanden?!? Könnte es sein, dass der Doppelpunkt neuerdings Probleme macht?

Zeiche doch mal $EVTPART0 und $EVTPART1 mit auf, vielleicht bekommt man den damit auf einfache Weise weg.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

accessburn

#11
fhem(Log 1, "$NAME aktiv - $EVTPART0 - $EVTPART1");;

Zitat2018.04.10 11:52:15 1: LaCrosse_28 aktiv - temperature: - 21.2
2018.04.10 11:52:15 1: LaCrosse_28 aktiv - humidity: - 53


Hab mal zusätzlich ein neues Reading schreiben lassen. "Test" wird ganz normal geschrieben, Temperatur und Humidity nicht.

fhem("setreading aussentemp_dummy $EVENT") if ($NAME eq "LaCrosse_1A") ;;fhem(Log 1, "$NAME aktiv - $EVTPART0 - $EVTPART1");;fhem("setreading aussentemp_dummy test $EVTPART1");;
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Beta-User

Wenn es am Doppelpunkt liegt (kann grad nicht selbst testen): Geht denn ein
setreading aussentemp_dummy temperature: 21.2
in der Kommandozeile?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

accessburn

Du bist auf dem richtigen Weg würde ich sagen:

ZitatWARNING: unsupported character in reading temperature: (not A-Za-z/\d_\.-)
Wezzy Rpi2b> FHEM, Elro, Intenso, FTUI, Jeelink v3, Max!Cube, Fire5, Foscam, NAS, Fritz!Box + Fon, Max!Wandthermostat, Amazon Echo
Wezzy Rp3b> OctoPi
Jessie Rp3b> UPNP, NAS, Pi-Hole

Beta-User

OK, Treffer ::) .

Du könntest noch eine Auswertung machen, ob es ein Temperatur- oder Humidity-Event ist und dann den passenden Klartext mit
$EVTPART1 verwenden bzw. den Textbaustein vorab als Variable (z.B. $myreading) ermitteln (mit $myreading "temperature" oder "humidity", je nach $EVTPART0)...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files