Zonen-basierte Anwesenheitserkennung und -steuerung

Begonnen von KernSani, 15 März 2019, 19:06:04

Vorheriges Thema - Nächstes Thema

binford6000

Zitat von: enno am 18 April 2021, 09:20:54
Moin Oli,

wenn ich in Zeile 424
    if (    $leafChild eq $empty
in     if (    $leafChild eq $EMPTY
änder, läuft es mit der Version von heute Morgen.

Gruss
  Enno

Jepp, hier auch. Allerdings bleibt VERSION leer bis shutdown/restart.
Danach siehts aber dann gut aus!

VG Sebastian



rippi46

#196
Danke

hatte Tomaten auf den Augen :)

bekomme zwar keine Fehlemeldung mehr, aber habe auch keine homezone mehr.
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

KernSani

Es ist mir ein Rätsel... Diesen $empty Bug hatte ich bei mir bereits behoben. Wie das wieder in das hochgeladenen File kam, ist mir echt schleierhaft. Sorry dafür. Ist im 1. Post korrigiert.

Zitat von: rippi46 am 18 April 2021, 18:20:53
bekomme zwar keine Fehlemeldung mehr, aber habe auch keine homezone mehr.

Hast du deine Zones wieder gefunden? so leicht gehen die eigentlich nicht verloren, außer du hast dein FHEM neu gestartet, das homezone_modul konnte nicht geladen werden wegen $empty und du hast danach noch den Save Button gedrückt... da hilft nur aus dem Backup holen...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

rippi46

Habs aus dem Backup geholt

Danke funktioniert wieder

Gruß Hartmut
FHEM, LMS, VDR ,Dell 9010 Ubuntu 20.04,Raspimatic, HM/HMIP, Max, Elro, Brennenstuhl u. Intertechno mit Connair.
Picoreplayer, Raspi IR-Lanadapter, Firmata(wifi), LaCrosse,
nanocul433, nanocul868, Signalduino, Connexoon,
MySensor-GW+Sensoren, RGBWW, Zigbee2mqtt,Xiaomi,Nextion,LEDMatrix,Alexa

binford6000

#199
Zitathz_dayTimes: Leerzeichen-getrennt Liste von Uhrzeit:Text Paaren. Dient zur Steuerung tageszeitabhängiger decay-Werte. Für jeden "text" wird ein zugehöriges decay-Userattribut erzeugt, mit dem die korrespondierenden Decay-Werte gepflegt werden. Das Attribut wird beim Define automatisch gesetzt und - sofern vorhanden - mit dem Wert aus HOMEMODE gefüllt. Die variablen $SUNRISE und $SUNSET können anstatt Uhrzeit verwendet werden.


  • Das Attribut heißt im Modul hz_dayTime
  • Ich habe ein HOMEMODE Device aber die dayTimes werden aber nicht übernommen - auch nicht mit einem defmod
  • Wenn nicht gesetzt - werden dann AUTOMATISCH die Zeiten aus HOMEMODE übernommen?
  • Format in HOMEMODE: 05:00|morning Würde das konvertiert zu 5:morning?
  • Und wie wäre es dann mit mit 4:30|morning?
  • Ausprobiert mit der 0.0.20 (2. Datei im ersten Post)


VG Sebastian

binford6000

Hier mal eine Zone und die Logauszüge:
Zone:
Internals:
   DEF       
   FUUID      602cb3cf-f33f-0308-a685-b759196885f9c70e
   FVERSION   98_homezone.pm:v0.0.19-s18522/2019-02-07
   NAME       wc_zone
   NR         292
   NTFY_ORDER 50-wc_zone
   STATE      absent
   TYPE       homezone
   VERSION    0.0.20
   HELPER:
     doors      1
   READINGS:
     2021-04-19 15:00:34   associatedWith  device device
     2021-04-19 15:04:24   condition       closed
     2021-04-18 09:25:04   lastDayTime     morning
     2021-04-19 15:06:35   lastLumi        90
     2021-04-19 15:06:35   lastZone        timer
     2021-04-19 15:06:35   occupied        0
     2021-04-19 15:06:35   state           absent
   helper:
     TIMER      1618837595
Attributes:
   group      Homezone
   hz_absenceEvent Wohnung:presence:.absent
   hz_closedEvent wc_huesens_door:state:.closed
   hz_cmd_absent set wc_lampecol_licht:FILTER=STATE=on off; {sonosbwm('absent','play1_wc')}; night:set wc_lampecol_licht:FILTER=STATE=on off
   hz_cmd_likely set wc_lampecol_licht:FILTER=STATE=off on; {sonosbwm('likely','play1_wc')}; night:set wc_lampecol_licht:FILTER=STATE=off on
   hz_cmd_present set wc_lampecol_licht:FILTER=STATE=off on
   hz_dayTime 05:morning 10:day 14:afternoon 18:evening 23:night
   hz_decay   150
   hz_decay_night 90
   hz_luminanceReading wc_huesens_light:lux
   hz_occupancyEvent wc_bwm:state:.motion
   hz_openEvent wc_huesens_door:state:.open
   hz_state   100:present 50:likely 1:unlikely 0:absent
   userattr   hz_decay_afternoon hz_decay_day hz_decay_evening hz_decay_morning hz_decay_night             hz_decay_sr hz_decay_ss hz_decay_sr hz_decay_ss  :textField-long    :textField-long    :textField-long    :textField-long   hz_cmd_present:textField-long hz_lumiThreshold_present hz_cmd_likely:textField-long hz_lumiThreshold_likely hz_cmd_unlikely:textField-long hz_lumiThreshold_unlikely hz_cmd_absent:textField-long hz_lumiThreshold_absent


Log:
2021.04.19 14:58:21 1: [homezone - wc_zone]: Command execution failed: Unknown command night:set, try help.
2021.04.19 14:58:21 1: [homezone - wc_zone]: Perl execution failed: Unknown command night:set, try help.
2021.04.19 15:00:51 1: [homezone - wc_zone]: Command execution failed: Unknown command night:set, try help.
2021.04.19 15:00:51 1: [homezone - wc_zone]: Perl execution failed: Unknown command night:set, try help.
2021.04.19 15:03:40 3: wc_zone: unknown attribute hz_dayTimes. Type 'attr wc_zone ?' for a detailed list.
2021.04.19 15:04:05 1: [homezone - wc_zone]: Command execution failed: Unknown command night:set, try help.
2021.04.19 15:04:05 1: [homezone - wc_zone]: Perl execution failed: Unknown command night:set, try help.


VG Sebastian

KernSani

Nur kurz vom Handy, Format für die dayTimes sollte so aussehen:
05:00|morning
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

binford6000

Zitat von: KernSani am 19 April 2021, 15:26:13
Nur kurz vom Handy, Format für die dayTimes sollte so aussehen:
05:00|morning

So würden sie ja auch aus HOMEMODE kommen. Die dort hinterlegten werden aber
a) nicht übernommen und
b) mit 23:00|night und set wc_lampecol_licht:FILTER=STATE=on off; {sonosbwm('absent','play1_wc')}; night:set wc_lampecol_licht:FILTER=STATE=on off
kommt
2021.04.19 21:00:08 1: [homezone - wc_zone]: Command execution failed: Unknown command night:set, try help.
2021.04.19 21:00:08 1: [homezone - wc_zone]: Perl execution failed: Unknown command night:set, try help.


Immerhin der erste Teil wird korrekt ausgeführt.
VG Sebastian

KernSani

#203
Hi Sebastian,
ich glaube ich muss weiter an der Doku arbeiten ;-) Die einzelnen Befehle (also default und je Tageszeit) werden durch Zeilenumbruch getrennt, also wirlich so, wie in meinem obigen Beispiel angegeben.
Ich nutze selbst kein Homemode, daher ist mir nicht aufgefallen, dass das nicht (mehr?) übernommen wird... Ich passe das an. Bei der Gelegenheit fällt mir auf, dass tatsächlich die Tageszeiten aus homemode nur beim Define übernommen werden. Würde wahrscheinlich Sinn machen, die Tageszeiten ebenfalls zu übernehmen, wenn man das Attribut leer macht... Ich bastle da mal noch was...
Grüße,
Oli

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

KernSani

Aktualisierte Version im ersten Post. Bugs mit daytimes/homemode gefixt und Doku verbessert...
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

binford6000

Zitat von: KernSani am 19 April 2021, 23:56:51
Aktualisierte Version im ersten Post. Bugs mit daytimes/homemode gefixt und Doku verbessert...

Hi,ich habe mal diverse Varianten mit der 0.0.21 durchgespielt und folgende Fehler erhalten:

{fhem("set wc_lampecol_licht:FILTER=STATE=off on"); sonosbwm('likely','play1_wc')};\
night:set wc_lampecol_licht:FILTER=STATE=off on;


[homezone - wc_zone]: Perl execution failed: Unknown command {fhem("set, try help.
Unknown command sonosbwm('likely','play1_wc')}, try help.
Unknown command \
night:set, try help.


{fhem("set wc_lampecol_licht:FILTER=STATE=on off"); sonosbwm('absent','play1_wc')};
night:set wc_lampecol_licht:FILTER=STATE=on off;


2021.04.20 08:40:54 1: [homezone - wc_zone]: Command execution failed: Unknown command {fhem("set, try help.
Unknown command sonosbwm('absent','play1_wc')}, try help.
Unknown command night:set, try help.
2021.04.20 08:40:54 1: [homezone - wc_zone]: Perl execution failed: Unknown command {fhem("set, try help.
Unknown command sonosbwm('absent','play1_wc')}, try help.
Unknown command night:set, try help.


{fhem("set wc_lampecol_licht:FILTER=STATE=off on"); sonosbwm('likely','play1_wc')}\
night:set wc_lampecol_licht:FILTER=STATE=off on


2021.04.20 08:45:36 1: [homezone - wc_zone]: Command execution failed: Unknown command {fhem("set, try help.
Unknown command sonosbwm('likely','play1_wc')}\
night:set, try help.
2021.04.20 08:45:36 1: [homezone - wc_zone]: Perl execution failed: Unknown command {fhem("set, try help.
Unknown command sonosbwm('likely','play1_wc')}\
night:set, try help.


set wc_lampecol_licht:FILTER=STATE=off on, {sonosbwm('likely','play1_wc')}\
night:set wc_lampecol_licht:FILTER=STATE=off on


2021.04.20 08:48:06 1: [homezone - wc_zone]: Command execution failed: Unknown argument off,, choose one of off:noArg on:noArg toggle:noArg statusRequest:noArg pct:colorpicker,BRI,0,1,100 bri:colorpicker,BRI,0,1,254 rgb:colorpicker,RGB color:colorpicker,CT,2000,1,6500 ct:colorpicker,CT,154,1,500 hue:colorpicker,HUE,0,1,65535 sat:slider,0,1,254 xy dimUp:noArg dimDown:noArg ctUp:noArg ctDown:noArg hueUp:noArg hueDown:noArg satUp:noArg satDown:noArg alert:none,select,lselect,breathe,okay,channelchange,finish,stop effect:none,colorloop rename off-for-timer blink off-till-overnight on-for-timer off-till on-till-overnight on-till intervals attrTemplate:?,speech_recognition_general_naming_master_template,speechcontrol_general_naming_master_template,C_01_Eurotronic_SPZB0001_Spirit_ZigBee,D_01_Xiaomi_Aqara_MCCGQ11LM_Window_Door_Sensor,E_01a_Xiaomi_Aqara_WSDCGQ11LM_Temperature_Sensor,E_01b_Xiaomi_Aqara_WSDCGQ11LM_Pressure_Sensor,E_01c_Xiaomi_Aqara_WSDCGQ11LM_Humidity_Sensor,F_01a_Xiaomi_Aqara_RTCGQ11LM_Lightlevel_Sensor,F_01a_Xiaomi_Aqara_RTCGQ11LM_Motion_Sensor,G_01_Xiaomi_Aqara_WXKG02LM_Double_Switch
2021.04.20 08:48:06 1: [homezone - wc_zone]: Perl execution failed: Unknown argument off,, choose one of off:noArg on:noArg toggle:noArg statusRequest:noArg pct:colorpicker,BRI,0,1,100 bri:colorpicker,BRI,0,1,254 rgb:colorpicker,RGB color:colorpicker,CT,2000,1,6500 ct:colorpicker,CT,154,1,500 hue:colorpicker,HUE,0,1,65535 sat:slider,0,1,254 xy dimUp:noArg dimDown:noArg ctUp:noArg ctDown:noArg hueUp:noArg hueDown:noArg satUp:noArg satDown:noArg alert:none,select,lselect,breathe,okay,channelchange,finish,stop effect:none,colorloop rename off-for-timer blink off-till-overnight on-for-timer off-till on-till-overnight on-till intervals attrTemplate:?,speech_recognition_general_naming_master_template,speechcontrol_general_naming_master_template,C_01_Eurotronic_SPZB0001_Spirit_ZigBee,D_01_Xiaomi_Aqara_MCCGQ11LM_Window_Door_Sensor,E_01a_Xiaomi_Aqara_WSDCGQ11LM_Temperature_Sensor,E_01b_Xiaomi_Aqara_WSDCGQ11LM_Pressure_Sensor,E_01c_Xiaomi_Aqara_WSDCGQ11LM_Humidity_Sensor,F_01a_Xiaomi_Aqara_RTCGQ11LM_Lightlevel_Sensor,F_01a_Xiaomi_Aqara_RTCGQ11LM_Motion_Sensor,G_01_Xiaomi_Aqara_WXKG02LM_Double_Switch


Licht wird teilweise geschaltet, aber die Funktion nie ausgeführt.

VG Sebastian

KernSani

Hi Sebastian,
Mist... hatte ich vergessen in die Doku zu schreiben. Perl funktioniert bei Tageszeit-abhängiger Steuerung (noch) nicht. Das Modul kann im cmd nur alles Perl oder alles FHEM. Auch unabhängig von der Tageszeit-abhängigen Steuereung würde sowas wie
set meineLampe on; {fhem("tuwas")}
nicht funktionieren (glaube ich). Dürfte aber kein Hexenwerk sein, das auch noch umzusetzen... 
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

binford6000

Ok, dann kann ich mir ja einen Ast testen...  :D :D
Dann warte ich bis das auch noch kommt bzw. wird in der Funktion eh geprüft ob
es Nacht ist bzw. alle ROOMMATES asleep sind.

VG Sebastian

binford6000

ZitatAuch unabhängig von der Tageszeit-abhängigen Steuereung würde sowas wie
Code: [Auswählen]
set meineLampe on; {fhem("tuwas")}

nicht funktionieren (glaube ich).
Doch! Sowas geht:
set wc_lampecol_licht:FILTER=STATE=on off; {sonosbwm('absent','play1_wc')}


VG Sebastian

PS: Der Import aus HOMEMODE funktioniert auch wieder!

KernSani

Hi Sebastian,
mir ist zwar unklar, warum, aber deine Perl-Zeile scheint auch in der FHEM-Kommandozeile nicht zu funktionieren. Ansonsten habe ich noch ein bisschen herumexperimentiert und eigentlich funktionieren überraschenderweise die Kombinationen aus Perl und FHEM.
Am Ende der Zeile sollte kein ";" sein, und auch kein "\" (der kommt nur im Raw-Editor)
Dafür ist mir aufgefallen, dass associatedWith Duplikate erzeugt...
Grüße,
Oli
RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...