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

Prof. Dr. Peter Henning

Hm - kenne ich nicht, weil bei mir die Definitionen nicht mit "modify" erfolgen.

Ich frage mich außerdem, wieso so häufige Neustarts nötig sein sollten ? Meine FHEM-Installationen werden vielleicht einmal im Monat nach Update neu gestartet - da gibt es keine Fehler.

LG

pah

ChrisKoh

Ich habe in den letzten Wochen mein FHEM komplett neu aufsetzen müssen. (selbst verschuldet)
Daher habe ich in letzter Zeit öfters neu gestartet. Und da ist es mir eben aufgefallen.

Heute jedoch habe ich bewusst nichts unternommen das einen Neustart nach sich zöge. Könnte theoretisch auch ein kurzer Stromausfall gewesen sein. Meine USV Überwachung habe ich noch nicht wieder aktiv...

Im Moment habe ich noch keine Idee wie ich dem Thema auf die Schliche kommen könnte.

Ich würde nur ungern wieder auf ,,at Definitionen" für meine Rollo Steuerung zurück gehren.
ODROID H2 + Docker: Portainer; FHEM; HomeBridge; Node-RED; Nextcloud; PiHole; MQTT.
FS20; HM; ZigBee; Z-Wave

Prof. Dr. Peter Henning

Ist das YAAHMFile vorhanden, schreibbar und im Dateisystem ? Oder in der configdb ?

LG

pah

cwagner

Hallo pah,

unterstützt das Modul (noch?) nicht userreadings? Ich habe mir eines zusammengebaut, dass mir aus den Modulreadings  s_sunset und s_sunrise  eine Tageslänge ausrechnet. Das funktioniert auch vom Ergebnis richtig, doch erhalte ich im Log jedesmal Fehlermeldungen der Stufe 1:

2018.09.03 22:09:37 1: readingsUpdate(Timer,Tagesstunden,13.5333333333333) missed to call readingsBeginUpdate first.
2018.09.03 22:09:37 1: stacktrace:
2018.09.03 22:09:37 1:     main::readingsBulkUpdate            called by fhem.pl (4521)
2018.09.03 22:09:37 1:     main::readingsEndUpdate             called by ./FHEM/95_YAAHM.pm (2652)
2018.09.03 22:09:37 1:     main::YAAHM_GetDayStatus            called by ./FHEM/95_YAAHM.pm (3288)
2018.09.03 22:09:37 1:     main::YAAHM_toptable                called by ./FHEM/95_YAAHM.pm (3519)
2018.09.03 22:09:37 1:     main::YAAHM_Longtable               called by (eval 174126) (1)
2018.09.03 22:09:37 1:     (eval)                              called by fhem.pl (1113)
2018.09.03 22:09:37 1:     main::AnalyzePerlCommand            called by ./FHEM/98_weblink.pm (99)
2018.09.03 22:09:37 1:     main::weblink_FwFn                  called by ./FHEM/01_FHEMWEB.pm (1924)
2018.09.03 22:09:37 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1080)
2018.09.03 22:09:37 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (533)
2018.09.03 22:09:37 1:     main::FW_Read                       called by fhem.pl (3589)
2018.09.03 22:09:37 1:     main::CallFn                        called by fhem.pl (724)

Ausschalten mit verbose=0 kann ich die Meldungen wie in einem Thread erwähnt nicht.

Eines will ich aber nicht vergessen: Danke für dieses tolle Modul, das mir einiges erheblich vereinfacht.

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Prof. Dr. Peter Henning

Muss ich mir ansehen, kann ein paar Tage dauern.

LG

pah

eddy242

Hallöchen,

ist es eigentlich möglich, die Schaltzeiten selbst zu definieren bzw. im Tagesablauf eine oder mehrere "Custom-Zeilen" einzufügen? Also in etwa wie MyCustomMorningTime: {sunrise("REAL",-10,"06:00","07:00")} Damit würde ich realisieren, dass die Rolläden insbesondere im Sommer nicht zu früh und im Winter nicht zu spät hochfahren. Sorry falls ich das in der Doku oder in diesem Thread übersehen haben sollte.

Grüße Ed

Prof. Dr. Peter Henning

Nein, derzeit nicht, dynamische Offsets gibt es nicht. Ich denke mal darüber nach...

LG

pah

cwagner

#187
Hallo PAH,

nun bin ich auch auf YAAMH gestoßen, das bereits einige Vereinfachungen in meiner Haussteuerung (u.a. Lüftung, Heizung, Warmwasser, Sonnenkollektor in Abhängigkeit von Umwelt und Bedarf) gebracht hat.

Leider verstehe ich Reverenz und WIKI bezüglich vacation Device nicht und Suche auch im Forum führt mich nicht weiter. Wie sieht ein Vacation-Device aus - was muss ich da eintragen. Ein Feiertags-(Holiday)-Device habe ich erfolgreich eingebunden, der 3. Oktober wird wunderbar angekündigt.

Dabei bin ich gleich bei einer Anregung: Für die allermeisten Nutzer wird ein Feiertag "unter der Woche" wie ein Samstag oder Sonntag sein, d.h. entweder verschieben sich Schlafzeit am Abend zuvor nach hinten, Wecken fällt aus oder verschiebt sich aus und die Schlafzeit am Feiertag ist dann wieder die übliche Werktagszeit.

So ist es ja im Default-Wochenprofil angelegt. Ich stelle mir nun vor, dass bei einem Mittwoch, der auf einen Feiertag fällt, am Dienstag die spätere Freitagsschlafzeit und der Feiertag wie ein Sonntag behandelt wird. Das fände ich eine tolle Automatik.

Herzliche Grüße

Christian



PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Prof. Dr. Peter Henning

Die devices in der Liste vacationDevices haben dasselbe Format wie die in specialDevices und holidayDevices - nämlich jeweils vom Typ Calendar oder holiday. Nur sind die Events, die in diesen Devices stehen, eben länger: Vom Ferienbeginn bis zum Ferienende.

Die vorgeschlagene Automatik finde ich aber nicht gut. Denn meine Vorlesungen verschieben sich am Dienstag eben nicht, wenn Mittwoch Feiertag ist.

LG

pah

cwagner

#189
Hallo pah,

vielen Dank für die schnelle Antwort in Sachen Vacation-Device. Nun habe ich es verstanden.

Bei der "Automatik" hast Du mich leider bei einer schlampigen Formulierung erwischt - habe meinen Eintrag nachgebessert. Natürlich verschiebt sich auch bei mir die Arbeitszeit nicht durch den morgigen Feiertag. Aber heute Abend werde ich wohl länger machen wie am Freitag und morgen früh länger schlafen wir an einem Sonntag und morgen Abend wieder auf die Werktagsschlafenszeit zurückkehren.
Aber vielleicht gelingt mir das ja nachzubilden mit einem zusätzlich Feiertagswochenprofil.

Einen schönen vorlesungsfreien 3. Oktober :-)

Christian

Edit 5.10.: Falls jemand dieselbe Idee umsetzen will:
Mit den Dummys heute, morgen, Wecken und Schlafen habe ich das umgesetzt und rufe das als Helper um 00:01 jeden Tag ausführen. "nied" ist mein Holiday-Device für die Feiertage in Niedersachsen, dort trage ich auch meine Urlaube ein.

DOELSEIF ([00:01]) (IF ("get nied today" eq "none") (set heute Arbeitstag,set Schlafen 22:00,set Aufstehen 06:00) ELSE (set heute arbeitsfrei,set Aufstehen 7:00,set Schlafen 23:00),IF ("get nied tomorrow" ne "none") (set morgen arbeitsfrei,set Schlafen 23:00) ELSE (set morgen Arbeitstag)) ## was ist morgen und heute für ein Tagestyp. Sonderfall
Schlafen am arbeitsfreien Tag von dem Arbeitstag

Hier das Beispiel eines Feiertags-Spätaufstehers. Will man an Wochenende oder Feiertag besonders viel erleben, wären die Schlafenszeiten entsprechend anzupassen :-)[/code]
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Prof. Dr. Peter Henning

Babble nutzen. Ich spreche einfach in eines meiner Tablets "Schlafen um dreiundzwanzig uhr". Oder gebe das in Telegram ein. Oder in eines meiner Amazon Echo Devices.

Im konkreten Fall allerdings: "Wecken um 6 uhr dreißig", denn ich will bei Sonnenaufgang am ersten Abschlag stehen...

LG

pah

hoods

#191
Hallo pah,

erstmal vielen Dank für das tolle Modul!
Ich habe das Modul testweise auf 2 Fhem Instanzen installiert und hänge bei der Nutzung der calendar devices. Definiere ich ein holiday device mittels (attr holidayDevices ...) mit den DE-Feiertagen werden die Feiertage entsprechend ausgewertet und so wird ggf. entsprechend der Priorität aus einem Werktag ein Feiertag - klappt.

Nutze ich einen Kalender mit Demo Feiertagen (attr vacationDevices ...) ändert sich leider nicht der Tages-Typ so wie im Wiki beschrieben. Um auszuschliessen, dass es mit meinen bisher verwendeten Kalendern (Ferienkalender, google etc.) zusammenhängt, habe ich mir einen Test Kalender erstellt und als ics exportiert. Leider bleibt das Ergebnis das gleiche ... nun hänge ich an dem Punkt - liegts am Modul oder ist meine Definition der Ferientage fehlerhaft.

Anbei die def meines YAAHM Devices:
defmod myYAAHM YAAHM
attr myYAAHM room Labor,ProfileRoom
attr myYAAHM vacationDevices TestCal


Hier noch die Calendar def:
defmod TestCal Calendar ical file Calendar/test.ics
attr TestCal room Labor


Auszug aus dem fhem.log:
...
2018.10.20 00:00:33 1: [YAAHM_updater] on device myYAAHM called for this day
2018.10.20 00:00:33 2: get TestCal full is deprecated and will be removed soon. Use get TestCal events instead.
2018.10.20 00:00:33 3: [Astro] No latitude attribute set in global device, using 50.0°
2018.10.20 00:00:33 3: [Astro] No longitude attribute set in global device, using 10.0°
2018.10.20 00:00:33 3: [Astro] No altitude attribute set in global device, using 0.0 m above sea level
2018.10.20 00:00:33 3: [Astro] No latitude attribute set in global device, using 50.0°
2018.10.20 00:00:33 3: [Astro] No longitude attribute set in global device, using 10.0°
...


Ich stehe irgendwie gerade auf dem Schlauch und könnte einen Schubser vertragen.

Danke für die Hilfe.

Gruss hoods
Odroid C2, FHEM 5.8, HMUSB, Jeelink, Rademacher DuoFern Stick, Benning WR über HTTPMOD

Prof. Dr. Peter Henning

Kann ich vor nächster Woche nicht testen.

LG

pah

patator

#193
Hallo zusammen,

ich mache ja regelmässig FHEM Updates, aber nach den Updates heute ist YAAHM nicht mehr unter Profiles zu finden.
Das war dabei:

2018.10.29 14:48:48 1: UPD FHEM/00_FBAHAHTTP.pm
2018.10.29 14:48:48 1: UPD FHEM/01_FHEMWEB.pm
2018.10.29 14:48:48 1: UPD FHEM/10_MYSENSORS_DEVICE.pm
2018.10.29 14:48:48 1: UPD FHEM/10_RESIDENTS.pm
2018.10.29 14:48:48 1: UPD FHEM/38_netatmo.pm
2018.10.29 14:48:48 1: UPD FHEM/42_AptToDate.pm
2018.10.29 14:48:48 1: UPD FHEM/49_SSCam.pm
2018.10.29 14:48:48 1: UPD FHEM/57_CALVIEW.pm
2018.10.29 14:48:48 1: UPD FHEM/70_PIONEERAVR.pm
2018.10.29 14:48:48 1: UPD FHEM/70_ZoneMinder.pm
2018.10.29 14:48:48 1: UPD FHEM/74_XiaomiBTLESens.pm
2018.10.29 14:48:48 1: UPD FHEM/88_HMCCU.pm
2018.10.29 14:48:48 1: UPD FHEM/88_HMCCUDEV.pm
2018.10.29 14:48:48 1: UPD FHEM/89_FULLY.pm
2018.10.29 14:48:48 1: UPD FHEM/93_DbLog.pm
2018.10.29 14:48:48 1: UPD FHEM/93_DbRep.pm
2018.10.29 14:48:48 1: UPD FHEM/93_Log2Syslog.pm
2018.10.29 14:48:48 1: UPD FHEM/96_allowed.pm
2018.10.29 14:48:48 1: UPD FHEM/98_GEOFANCY.pm
2018.10.29 14:48:48 1: UPD FHEM/98_MSwitch.pm
2018.10.29 14:48:48 1: UPD FHEM/98_SmarterCoffee.pm
2018.10.29 14:48:48 1: UPD FHEM/98_Verkehrsinfo.pm
2018.10.29 14:48:48 1: UPD FHEM/98_logProxy.pm
2018.10.29 14:48:48 1: UPD FHEM/RESIDENTStk.pm
2018.10.29 14:48:48 1: UPD FHEM/UConv.pm
2018.10.29 14:48:48 1: UPD FHEM/lib/74_AMADtaskerset_4.2.4.prj.xml
2018.10.29 14:48:48 1: UPD www/pgm2/f18.js


Hab ich was übersehen?
Der Profileroom ist komplett leer.
Habe über Everything die YAAHM Devices in einen anderen Raum gepackt, ist in Ordnung aber normal ist das nicht oder?

VG Patrick

Newbee

Hallo Patrick,

hängt mit folgenden Post zusammen.
https://forum.fhem.de/index.php/topic,92433.15.html
Der Umgang mit hiddenroom wurde in 01_FHEMWEB.pm angepasst. Kein Aufruf mehr über direkte Eingabe der URL.
Habe folgende Module auf die ich nicht mehr direkt zugreifen kann. Alarmanlage, YAAHM und Babble.  :(
Bei meinem FLOORPLAN geht es noch, kenne aktuell aber den Unterschied noch nicht.

Einzige Lösung die bei mir geholfen hat ist ältere Version von 01_FHEMWEB.pm herstellen.  :)

Die Passage in 01_FHEMWEB.pm mit der Änderung ist wie folgt.

code geändert ab marker 1824 von

return 0 if(!$FW_room);

zu

return 0 if(!$FW_room ||
              ($FW_hiddenroom{$FW_room} &&
               AttrVal($FW_wname, "defaultRoom", "") ne $FW_room)); #92433


Grüße Mark
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue