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

andies

Ich hatte nur Warnings
2018.11.18 00:00:33 1: [YAAHM_updater] on device Profil called for this day
2018.11.18 00:00:33 1: PERL WARNING: Use of uninitialized value $name in hash element at ./FHEM/95_YAAHM.pm line 1670.
2018.11.18 00:00:33 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4365.
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

#226
@cwagner: Wundert mich - gerade das hatte ich verhindert.

Anbei mal eine Zwischenversion. Die Eingabe für ferienage und Feiertage ist zwar schon ok - aber die Timer werden noch nicht richtig erzeugt.

Immerhin kann man hier das UI für die Eingabe sehen.

LG

pah

andies

Wir sind uns unsicher, in der commandref steht das nicht: Sind die Aktionen in den Felder mit Komma oder Semikolon getrennt? Und die grünen Haken zeigen an, dass der Befehl angenommen wurde?
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

Haken => Timer läuft.

Felder werden komplett an einen Perl-Aufruf von fhem(...) übergeben.

LG

pah

cwagner

#229
Die gestern beschriebenen Eintragungen im Log-File wiederholten sich bei mir heute Nacht nicht. Womöglich, weil ich dies geändert hatte: 1 Minute vor Mitternacht soll eine Kette von 6 Fhem-Befehlen abgearbeitet werden. Die hatte ich dem Wiki folgend komma-separiert. Auch nachfolgende (Einzel-)Befehle waren dann nicht mehr ausgeführt worden, Angeregt durch die gestrige Diskussion habe ich die Liste nun semikolon-separiert, die 6 Befehle und alle folgenden bis jetzt wurden korrekt ausgeführt.

Im Interface finde ich aber noch eine verwirrende Angabe: Über ein Vacation-Device habe ich den heutigen Tag zum Urlaubstag erklärt. Das findet sich entsprechend seit Mitternacht auch im reading todayType, der heute "vacday" beinhaltet.

In der so toll gestalteten Übersicht heißt es aber "Arbeitstag" (siehe Sceenshot).

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

andies

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

@cwagner: Muss ich mir ansehen. Bitte mal die datei für das vacation-Device schicken, das macht es etwas einfacher.

LG

pah

cwagner

Mit dem Attribut vacationDevices Urlaub
habe ich diese Datei mit Namen Urlaub.holiday eingebunden
# Siehe auch
# http://de.wikipedia.org/wiki/Feiertage_in_Deutschland

# Urlaub durch cw ergänzt
# Zeitspanne ist Kennung 4

1 11-19 Urlaub


Danke für das Nachstellen!

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

#233
OK, das Problem ist gefixt. Bis auf die Tatsache, dass die Timer für die Wochenprofile immer noch nicht stimmen (da muss ich noch etwas an der Logik feilen...), geht das jetzt soweit.

Dateien anbei

LG

pah

cwagner

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

cwagner

#235
Zitat von: Prof. Dr. Peter Henning am 19 November 2018, 15:57:47
...Bis auf die Tatsache, dass die Timer für die Wochenprofile immer noch nicht stimmen (da muss ich noch etwas an der Logik feilen...), geht das jetzt soweit.
...

Ist damit auch gemeint, dass s_sleep und s_wakeup 30 Minuten vor den im Interface gezeigten und im Profil eingestellten Zeiten stehen? Selbst wenn ich Timer.wtimer_0|1.IF nochmals laufen lasse?

LG

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

s_wakeup und s_sleep sind nicht wirklich in Benutzung, werden nur an einer Stelle bedient. Weckzeiten sind in den readings ring... niedergelegt.

LG

pah

cwagner

Meine Hoffnung ist, dass es ein Reading gibt, dass nach Verarbeitung der Hierarchie Arbeitstag < Wochenendtag < Feiertag < Urlaub die dann gültigen Weck/Schlafenszeiten abzugreifen sind, um sie in anderen Modulen meiner Haussteuerung zu verwenden. Experimentell sehe ich, dass Arbeitstag/Wochenendtag (über das Wochenprofil) sowie die manuellen Zeiten sich in ring_0 / ring_1 zu finden sind. Aber Ein Urlaubsprofil  (das ja nach dem Patch erkannt wird) schreibt seine Zeiten in ring_2 und ring_3, die Hierarchie müsste ich dann aber selbst abbilden, oder?
LG
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

Jein. Da derzeit noch die Zeiten für "Urlaub" nur in der Oberfläche zu sehen sind, und nicht im Timer, ist das derzeit richtig. Künftig wird sich aber die gesamte Hierarchie in jedem einzelnen Timer abbilden lassen. Dauert aber noch ein paar Tage, weil ich von morgen bis Samstag abend Großeinsatz in der Hochschule habe.

LG

pah

andies

pah, ich habe eine komische Fehlermeldung:

2018.11.27 06:00:00 1: [YAAHM_time] executing { LogFileEintraegeSenden()}
2018.11.27 06:00:00 1: PERL WARNING: Number found where operator expected at (eval 203866) line 2, near "2018.11.27 06"
2018.11.27 06:00:00 1: PERL WARNING: (Missing operator before  06?)
2018.11.27 06:00:00 1: PERL WARNING: Number found where operator expected at (eval 203866) line 2, near "00 1"
2018.11.27 06:00:00 1: PERL WARNING: (Missing operator before  1?)
2018.11.27 06:00:00 1: PERL WARNING: Bareword found where operator expected at (eval 203866) line 2, near "] executing"
2018.11.27 06:00:00 1: PERL WARNING: (Missing operator before executing?)

und der Befehl lautet:
sub LogFileEintraegeSenden(){
my $datum;
$datum = POSIX::strftime("%Y-%m",localtime(time));
my $nachricht;
$nachricht = qx(tail -n10 /opt/fhem/log/fhem-$datum.log);
fhem("set TelegramBot _msg ".$nachricht);
}

Bin ich das?
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