Neues Modul YAAHM - Yet Another Auto Home Module

Begonnen von Prof. Dr. Peter Henning, 09 August 2017, 08:01:55

Vorheriges Thema - Nächstes Thema

BerndMiles

Hallo pah,


Zeichensatzfehler beim Herunterladen und Editieren. Sollte man aber bereits merken, wenn das Hilfsmodul geladen wird, in dem die houseTimeHelper-Routine steht (Fehlermeldung ...)

LG

pah


Das ist doch Quatsch und es kommt auch keine Fehlermeldung. Ich bin jetzt auch soweit, dass ich das Modul nicht mehr nehme. Ich fühle mich auch von dir total arrogant behandelt und du versuchst überhaupt nicht zu helfen. Ich weiss, dass das alles hier freiwillig ist und niemand was tun muss, aber dieses Modul ist für mich einfach nicht verwendbar.
Das ist insofern schade, weil ich es zum ersten Mal in deinem Buch gefunden habe und es mir vom Anstz her sehr gut gefällt. Komischerweise ist da aber kein Hinweis zu finden, dass das Modul von dir geschrieben wurde. Naja, dann noch viel Erfolg.

VG Bernd

Prof. Dr. Peter Henning

#316
Dreimal habe ich Hilfestellungen gegeben, und dann wird es unverschämt? Dafür ist meine Zeit objektiv zu schade. Danke, bitte in Zukunft ein anderes Modul verwenden. Und das "du" lassen wir mal lieber.

paho

BerndMiles

Sehr geehrter Herr Professor Henning,
ich habe mir gestern innerhalb von zwei Stunden mein eigenes Modul geschrieben und es funktioniert auf Anhieb, so wie ich es brauche.
Viele Grüße Bernd

Prof. Dr. Peter Henning

Prima, gratuliere. Das kann man sicher auch anderen zur Verfügung stellen und schauen, was da so an Rückmeldungen kommt...

LG

pah

2space

Ich habe flexible Homeoffice-Tage die ich in einem Google-Kalender verwalte. Ich würde gerne die Homeoffice-Tage wie Wochenenden behandeln. Lässt sich das mit diesem Modul abbilden oder gibt es die Möglichkeit dem Modul über ein Reading mitzuteilen "ich bin heute zu Hause" ohne das es von einer Automatik überschrieben wird? Ich dachte da an die Readings tomorrowType oder todayType.

MfG 2space

Prof. Dr. Peter Henning

#320
Es gibt 2 Sonderkategorien: Feiertag und Urlaubstag. Beide werden über Kalender verwaltet.

Wenn die Kategorie "HomeOffice" wie eine dieser beiden Kategorien zu behandeln ist, geht das auch jetzt schon problemlos. Wenn nicht, wäre das aus einem Kalender etwas aufwändiger. Ich selbst sage meiner Haus-Intelligenz einfach, dass sie für den folgenden Tag eine manuelle Weckzeit stellen soll.

Allerdings steht dann die Frage im Raum, ob ich nicht eine dritte Sonderkategorie einführen sollte, eben "HomeOffice". Liegt wegen der gegenwärtig boomenden neuen Arbeitsformen nahe.

LG

pah

andies

Hallo pah, ich habe eine Frage. Heute wurde mir angezeigt, dass ein Arbeitstag sei (da mache ich jetzt mal keinen Scherz draus), siehe Screenshot. Woran kann das liegen? Ich habe folgende holiday und berlin-Feiertage eingestellt:

# Format für einzelne Tage: 1 MM-DD <Text>
1 01-01 Neujahr
1 03-08 Frauentag
1 05-01 Tag der Arbeit
1 10-03 Tag der deutschen Einheit
1 10-31 Reformationstag
1 12-25 1. Weihnachtstag
1 12-26 2. Weihnachtstag
# Osterbezogene Feiertage
# Format: 2 <relative Tage von Ostern> <Text>
2 -2 Karfreitag
2 1 Ostermontag
2 39 Christi Himmelfahrt
2 50 Pfingsten

und

# Format: X MM-DD MM-DD <Text>
4 12-23 12-31 Weihnachtsferien_2019
4 01-01 01-04 Weihnachtsferien_2020
4 02-03 02-08 Winterferien
4 04-06 04-17 Osterferien
4 05-08 05-08 unterrichtsfrei
4 05-22 05-22 unterrichtsfrei
4 06-11 06-11 Pfingstferien
4 06-25 08-07 Sommerferien
4 10-04 10-04 unterrichtsfrei
4 10-12 10-24 Herbstferien

Das device sieht so aus:

Internals:
   FUUID      5c782b59-f33f-1115-d45f-e97b23f152087a1f
   NAME       Profil
   NOTIFYDEV  global,Profil
   NR         150
   STATE      Initialized
   TYPE       YAAHM
   VERSION    3.1
   DATA:
     savedate   2019-12-20 19:48:30
     DD:
       HASH(0x53c8f48)
       HASH(0x53c6ec0)
       HASH(0x1dcee30)
     DT:
       aftermidnight:
         02:01
         02:01
         set DbLogRep delSeqDoublets delete;set Pikrellcam_Haustuer,Pikrellcam_Garten,Pikrellcam_Garage archive_yesterday;
         ;
       afternoon:
         14:00
         undef
         undef
         ;
       aftersunrise:
         09:18
         01:00
         undef
         ;
       aftersunset:
         16:42
         00:40
         undef
         ;
       beforemidnight:
         23:55
         00:05
         setreading EntkalkerWasserTagesLog logentry [Wasserzaehler_IEC_01:energyCalc]; {RegressionSetzen()}
         ;
       beforesunrise:
         07:18
         01:00
         undef
         ;
       beforesunset:
         15:02
         01:00
         undef
         ;
       evening:
         18:30
         undef
         undef
         ;
       morning:
         06:00
         undef
         { LogFileEintraegeSenden();;Plananzeige()}
         ;
       night:
         23:00
         undef
         set LampeGarage,ShellyHerdlampe,ShellyArbeitszimmer,Dimmer,LampeKellerRund,LampeKellerDurchgang,Sonoff_s20_3 off
         ;
       noon:
         13:00
         undef
         undef
         ;
       sleep:
         22:30
         undef
         undef
         undef
       sunrise:
         08:18
         undef
         get Kamera1,Kamera2,Kamera3,Kamera4 image;set Pikrellcam_Garten,Pikrellcam_Haustuer,Pikrellcam_Garage still
         ;
       sunset:
         16:02
         undef
         get Kamera1,Kamera2,Kamera3,Kamera4 image;set Pikrellcam_Garten,Pikrellcam_Haustuer,Pikrellcam_Garage still
         ;
       wakeup:
         06:15
         undef
         undef
         undef
     HSM:
       mode       normal
       state      unsecured
       time       sleep
     WT:
       HASH(0x53c8cc0)
       HASH(0x53c8480)
       HASH(0x53c8858)
       HASH(0x53c83f0)
     XT:
   READINGS:
     2019-11-04 10:05:38   housemode       normal
     2019-12-31 06:25:00   housephase      daytime
     2019-11-04 10:05:33   housestate      unsecured
     2019-12-31 06:25:00   housetime       sleep
     2018-11-07 23:50:00   lockstate       0
     2019-12-31 06:10:00   next_0         
     2019-12-31 06:25:00   next_1         
     2019-12-31 00:00:34   next_2         
     2019-12-31 00:00:34   next_3         
     2019-12-31 06:25:00   next_housetime  beforesunrise
     2019-11-04 10:05:38   prev_housemode  party
     2019-11-04 10:05:33   prev_housestate secured
     2019-12-31 06:25:00   prev_housetime  wakeup
     2019-12-31 00:00:34   ring_0          06:10
     2019-12-31 00:00:34   ring_0_1        06:10
     2019-12-31 00:00:34   ring_0_1x       06:10
     2019-12-31 00:00:34   ring_0x         06:10
     2019-12-31 00:00:34   ring_1          06:25
     2019-12-31 00:00:34   ring_1_1        06:25
     2019-12-31 00:00:34   ring_1_1x       06:25
     2019-12-31 00:00:34   ring_1x         06:25
     2019-12-31 00:00:34   ring_2          off
     2019-12-31 00:00:34   ring_2_1        off
     2019-12-31 00:00:34   ring_2_1x       off
     2019-12-31 00:00:34   ring_2x         off
     2019-12-31 00:00:34   ring_3          off
     2019-12-31 00:00:34   ring_3_1        off
     2019-12-31 00:00:34   ring_3_1x       off
     2019-12-31 00:00:34   ring_3x         off
     2019-12-31 00:00:34   s_aftermidnight 02:01
     2019-12-31 00:00:34   s_afternoon     14:00
     2019-12-31 00:00:34   s_aftersunrise  09:18
     2019-12-31 00:00:34   s_aftersunset   16:42
     2019-12-31 00:00:34   s_beforemidnight 23:55
     2019-12-31 00:00:34   s_beforesunrise 07:18
     2019-12-31 00:00:34   s_beforesunset  15:02
     2019-12-31 00:00:34   s_evening       18:30
     2019-12-31 00:00:34   s_morning       06:00
     2019-12-31 00:00:34   s_night         23:00
     2019-12-31 00:00:34   s_noon          13:00
     2019-12-31 00:00:34   s_sleep         22:30
     2019-12-31 00:00:34   s_sunrise       08:18
     2019-12-31 00:00:34   s_sunset        16:02
     2019-12-31 00:00:34   s_wakeup        06:15
     2019-12-20 19:48:30   savedate        2019-12-20 19:48:30
     2019-12-31 07:00:06   sdev_housestate <html><table></table></html>
     2019-12-31 07:00:06   sec_housestate  secure
     2019-12-05 22:16:43   state           Initialized
     2019-12-31 07:00:06   sym_housestate  <html><div style="color:green">✓</div></html>
     2019-12-31 00:00:34   todayDesc       --
     2019-12-31 00:00:34   todayType       workday
     2019-12-31 00:00:34   today_0         06:10
     2019-12-31 00:00:34   today_0_e       enabled
     2019-12-31 00:00:34   today_1         06:25
     2019-12-31 00:00:34   today_1_e       enabled
     2019-12-31 00:00:34   today_2         off
     2019-12-31 00:00:34   today_2_e       enabled
     2019-12-31 00:00:34   today_3         off
     2019-12-31 00:00:34   today_3_e       enabled
     2019-12-31 00:00:34   tomorrowDesc    --
     2019-12-31 00:00:34   tomorrowType    workday
     2019-12-31 00:00:34   tomorrow_0      06:10
     2019-12-31 00:00:34   tomorrow_0_e    enabled
     2019-12-31 00:00:34   tomorrow_1      06:25
     2019-12-31 00:00:34   tomorrow_1_e    enabled
     2019-12-31 00:00:34   tomorrow_2      off
     2019-12-31 00:00:34   tomorrow_2_e    enabled
     2019-12-31 00:00:34   tomorrow_3      off
     2019-12-31 00:00:34   tomorrow_3_e    enabled
     2019-11-04 10:05:38   tr_errmsg       
     2019-11-04 10:05:38   tr_housemode    Normal
     2019-12-31 06:25:00   tr_housephase   Tageszeit
     2019-11-04 10:05:33   tr_housestate   Nicht Gesichert
     2019-12-31 06:25:00   tr_housetime    Schlafen
     2019-12-31 00:00:34   tr_todayType    Arbeitstag
     2019-12-31 00:00:34   tr_tomorrowType Arbeitstag
     2019-12-31 00:00:34   tr_twodaysType  Arbeitstag
     2019-12-31 00:00:34   tr_wake_0       6:10 heute
     2019-12-31 00:00:34   tr_wake_1       6:25 heute
     2019-12-31 00:00:34   tr_wake_2       off heute und morgen
     2019-12-31 00:00:34   tr_wake_3       off heute und morgen
     2019-12-31 00:00:34   twodaysDesc     --
     2019-12-31 00:00:34   twodaysType     workday
   TIMER:
     Profil_aftermidnight:
       HASH       Profil
       MODIFIER   aftermidnight
       NAME       Profil_aftermidnight
     Profil_check:
       HASH       Profil
       MODIFIER   check
       NAME       Profil_check
     Profil_daytime:
       HASH       Profil
       MODIFIER   daytime
       NAME       Profil_daytime
     Profil_nighttime:
       HASH       Profil
       MODIFIER   nighttime
       NAME       Profil_nighttime
     Profil_today:
       HASH       Profil
       MODIFIER   today
       NAME       Profil_today
     Profil_tonight:
       HASH       Profil
       MODIFIER   tonight
       NAME       Profil_tonight
Attributes:
   group      intern
   holidayDevices berlin
   room       ProfileRoom
   stateDevices Garage::locked:locked:locked:locked, Schlafzimmerfenster::closed:closed:closed:closed, Badezimmerfenster::closed:closed:closed:closed, BadUntenfenster::closed:closed:closed:closed,
   stateInterval 3
  vacationDevices ferien
   verbose 0
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Prof. Dr. Peter Henning

Heute ist natürlich ein Arbeitstag.

Warum das morgen auch als Arbeitstag angezeigt wird ? Kann sein, dass das holiday-Modul das immer nur auf das gegenwärtige Jahr bezieht, so sieht mir das aus.

LG

pah

andies

#323
Da sind ja zwei Fehler drin: Sowohl Ferien (ferien.holiday) als auch Feiertage (berlin.holiday) werden nicht beachtet. Kannst du mir einen Tipp geben, wo ich da weitersuchen kann? Ich dachte ja, dass Dein Modul das macht, aber Deiner Antwort entnehme ich, dass Du Ergebnisse anderer Module nur durchreichst, richtig?

Frohes Neues Jahr!

<edit> https://forum.fhem.de/index.php/topic,106899.msg1007428.html#msg1007428
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

2space

Zitat von: Prof. Dr. Peter Henning am 01 Dezember 2019, 17:44:00
Allerdings steht dann die Frage im Raum, ob ich nicht eine dritte Sonderkategorie einführen sollte, eben "HomeOffice". Liegt wegen der gegenwärtig boomenden neuen Arbeitsformen nahe.

Aktueller denn je  ;)

andies

#325
Hallo pah, ich habe neuerdings Fehlermeldungen der Form

2020.06.25 06:43:30 1: ERROR evaluating {YAAHM_time('Profil','aftermidnight',1)}: Month '-1' out of range 0..11 at ./FHEM/93_DbRep.pm line 2046.

und der Monat ist tatsächlich -1. Ich verstehe nicht, was da genau passiert - kannst du helfen?

<edit> https://forum.fhem.de/index.php/topic,112085.msg1067678.html#msg1067678
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Prof. Dr. Peter Henning


andies

Also eine Problem hat sich erledigt (siehe Link), es kann natürlich sein, dass da noch irgendwo anders ein Bug sein kann.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

andies

Hallo pah, gibt Neuigkeiten  8)

2020.11.03 06:25:00 1: ERROR evaluating {YAAHM_time('Profil','sleep',1)}: Reference to nonexistent group in regex; marked by <-- HERE in m/\7 <-- HERE \0/ at ./FHEM/10_CUL_HM.pm line 4597.

Reference to nonexistent group in regex; marked by <-- HERE in m/\1 <-- HERE \0\0/ at ./FHEM/10_CUL_HM.pm line 4597.
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Prof. Dr. Peter Henning