Hauptmenü

Bestimmter Tag in DOIF Bedingung

Begonnen von Superposchi, 20 Dezember 2022, 14:19:54

Vorheriges Thema - Nächstes Thema

Superposchi

Es gibt für DOIF's jede Menge Zeitsteuerungen für die Bedingungen, aber ich habe bisher keine Lösung gefunden um einen bestimmten Tag als Bedingung zu nutzen.
Speziell da aktuell die Weihnachtszeit vor der Tür steht bietet sich ja hier 1. und 2. Weihnachtstag für die Beleuchtung an.

Gibt es eine Mögichkeit in einem DOIF ein festes Datum als Bedingung anzugeben?

Sany

Damian hat sich darüber schon mal Gedanken gemacht.....

https://forum.fhem.de/index.php/topic,43685.msg835314.html#msg835314

Vielleicht passt das ja.


Gruß


Sany
fhem auf Zotac ZBox nano als LXC auf Proxmox, weitere LXC mit ZigBee2MQTT, MariaDB und Grafana. Homematic, FS20, mySensors, MQTT2, Tasmota, Shelly, Z-Wave  ....


Gisbert

Aktuelles FHEM | PROXMOX | Fujitsu Futro S740 | Debian 12 | UniFi | Homematic, VCCU, HMUART | ESP8266 | ATtiny85 | Wasser-, Stromzähler | Wlan-Kamera | SIGNALduino, Flamingo Rauchmelder FA21/22RF | RHASSPY

Superposchi

Die Lösung von Damien funktioniert super, ist aber offenbar noch nicht dokumentiert - ich habe jedenfalls nichts dazu gefunden.

Frage dazu wäre, ob es auch ohne Angabe des Jahres funktioniert. Die Weinachtstage sind ja immer am 24., 25. und 26. Dezember bzw. falls gewünscht noch am 1. und 6. Januar des Folgejahres.

betateilchen

Die Weihnachtsfeiertage sind doch in holiday-devices verfügbar?
Da sind sie auf jeden Fall jahresunabhängig.
Warum muss man das in DOIF nachbauen?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Damian

Zitat von: Superposchi am 21 Dezember 2022, 14:52:30
Die Lösung von Damien funktioniert super, ist aber offenbar noch nicht dokumentiert - ich habe jedenfalls nichts dazu gefunden.

Frage dazu wäre, ob es auch ohne Angabe des Jahres funktioniert. Die Weinachtstage sind ja immer am 24., 25. und 26. Dezember bzw. falls gewünscht noch am 1. und 6. Januar des Folgejahres.

ja, hier findet man die internen Variablen zur Zeitangaben: https://fhem.de/commandref_DE.html#DOIF_Kurzreferenz

Zitat<Perl-Zeitvariablen>
Variablen für Zeit- und Datumsangaben, $sec, $min, $hour, $mday, $month, $year, $wday, $yday, $isdst, $week, $hms, $hm, $md, $ymd, $we, $twe


Nur Monat und Tag, geht dann z. B. entsprechend mit:

$md eq "12-25"

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Superposchi

@betateilchen
Weil ich bereits ein DOIF habe um meine Weihnachtsbeleuchtung zu steuern und gerne alles an einem Platz habe. Ich würde halt nur gerne an den Feiertagen abweichend von den anderen Einstellungen zb den ganzen Tag den Christbaum einschalten.
Außerdem nutze ich bisher kein holiday-Device.

@Damian
Die habe ich tatsächlich übersehen. Hatte die Commandref und diverse Beiträge mit Beispielen und Erklärungen angesehen. Wenn ich das erstmal richtig interpretiere könnte man dadurch auch bestimmte Kalenderwochen etc. als Bedingung setzen.
Werde es mir mal genau ansehen. Danke.

betateilchen

Zitat von: Superposchi am 21 Dezember 2022, 15:06:50
@betateilchen
Weil ich bereits ein DOIF habe um meine Weihnachtsbeleuchtung zu steuern und gerne alles an einem Platz habe.

Das Ergebnis aus dem holiday-device kannst Du als Entscheidungskriterium in Form eines readings in Deinem DOIF verwenden, genau wie jedes andere reading auch.
Mein Bauchgefühl sagt mir, dass Du Dir das Leben einfach unnötig schwer machst, indem Du versuchst, die Logik von holiday in einem DOIF nachzubauen.
Und wenn Du das in einem zweiten DOIF brauchst, baust Du es Dir ein zweites Mal nach - warum eigentlich?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Keine Ahnung, kenne das holiday-Device nicht, daher benutze ich es bisher auch nicht.

Ist bisher das erste mal das ich in diese Situationslage gekommen bin.

Damian

Zitat von: Superposchi am 21 Dezember 2022, 15:06:50
@Damian
Die habe ich tatsächlich übersehen. Hatte die Commandref und diverse Beiträge mit Beispielen und Erklärungen angesehen. Wenn ich das erstmal richtig interpretiere könnte man dadurch auch bestimmte Kalenderwochen etc. als Bedingung setzen.
Werde es mir mal genau ansehen. Danke.

ja, allerdings würde ich alles, was nicht fest ist, insb. bewegliche Feiertage über die holiday-Datei realisieren. Man kann auch noch einen Schritt weiter gehen und externe Kalender abfragen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

betateilchen

Du kannst natürlich machen, was und wie Du es möchtest.
Aber logisch und effektiv ist das halt für mein Empfinden nicht.

Vielleicht sollte man sich einfach grundsätzlich mehr damit beschäftigen,
was FHEM inzwischen alles von Haus aus bietet, anstatt dauernd das Rad neu erfinden zu wollen.

Zitat von: Superposchi am 21 Dezember 2022, 15:20:53
Keine Ahnung, kenne das holiday-Device nicht, daher benutze ich es bisher auch nicht.

Ich kenne Leute, die benutzen Excel, um damit Textverarbeitung zu machen, weil sie Word nicht kennen...
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Sorry, dass ich keine 5 Tage die Woche Zeit habe um mich mit jedem neuen Fitzelchen auseinander zu setzen.
Bei mir läuft das so: wenn Probleme auftreten oder ich mal ein wenig Zeit habe, dann fange ich an zu lesen, ansonsten bleibt fhem wie es ist.
Darum kenne ich auch vieles sicher noch nicht, was nicht heißt, dass ich es nicht irgendwann mal einbaue wenn ich Zeit finde mich damit auseinander zu setzen.

Im Moment habe ich mit fhempy und den damit verbundenen Tuya und Googlecast-Devices genug zu tun um die wieder ans laufen zu bringen. Und selbst das geht jetzt schon seit 2 Monaten nebenher weil einfach die Zeit fehlt da mal konsequent dran zu bleiben.

Also wenn ich keine Probleme und dafür ein wenig Zeit habe, werde ich mich mit dem holiday-Device beschäftigen und dann - keine Ahnung, wahrscheinlich das DOIF anpassen. Aber im Moment ...

Leider kenne ich auch keine Stelle an der Neuigkeiten zusammengetragen und regelmäßig veröffentlicht werden. Hier im Forum ließt man sich ja zu Tode wenn man alles neues - von dem man dann die Hälfte gebrauchen kann - durchlesen will.

betateilchen

Zitat von: Superposchi am 21 Dezember 2022, 15:52:36
um mich mit jedem neuen Fitzelchen auseinander zu setzen.

Nur mal so zur Info: holiday gibt es in FHEM bedeutend länger als DOIF (DOIF kam erst 2014)

Aber lassen wir das. Man muss sich natürlich auch weiterentwickeln WOLLEN.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Offenbar hast du meinen Post darüber nicht wirklich gelesen, denn da steht ganz klar, dass ich einfach keinen Zeit habe um alles und jedes zu studieren.
Und der hinweis auf irgendeine chronologie bringt rein gar nichts, da der normale User lernt von dem was er braucht und offenbar habe ich bisher eben das holiday-device noch nicht gebraucht.

Keine Ahnung warum es euch so schwer fällt zu akzeptieren wenn jemand sagt, dass er nicht alles weiß. Wieso erwartet ihr immer wieder, dass jeder User dem alphabeth nach jede Möglichkeit die es in Fhem gibt recherchiert hat BEVOR er hier schreibt?
Und dann diese Unterstellungen ala nicht weiterentwickeln WOLLEN. Sowas kotzt mich an. Es gibt Menschen die müssen für ihr Geld arbeiten, einen Haushalt schmeißen und auch noch Zeit für die Partnerin haben. Und wenn dann ganz am Ende vielleicht mal eine Stunde am Tag übrig bleibt, dann, ja dann muss die reichen um alle Hobbys zu bedienen.

Also noch mal, wenn ich Zeit habe werde ich mir sicher dieses holiday-Device ansehen. Doch im Moment habe ich ganz andere Baustellen. Darum beende ich das hier auch an dieser Stelle.

Danke Damien für die Hinweise, die waren Gold wert. Alles andere hier im Thread kann gelöscht werden.

betateilchen

Zitat von: Superposchi am 21 Dezember 2022, 18:02:37
Offenbar hast du meinen Post darüber nicht wirklich gelesen,

Doch, und Du hast darin mehrfach Deine Meinung zum Ausdruck gebracht, dass holiday etwas neues sei, mit dem Du nicht beschäftigen willst.

Zitat von: Superposchi am 21 Dezember 2022, 18:02:37
Es gibt Menschen die müssen für ihr Geld arbeiten, einen Haushalt schmeißen und auch noch Zeit für die Partnerin haben.

Das geht den Leuten, die hier in ihrer Freizeit versuchen, Hilfe zu leisten, wenn jemand wirklich nicht weiterkommt, nicht anders.

Wenn man aber als Helfender immer wieder den Eindruck bekommt, dass manche Leute den Unterschied zwischen "sich helfen lassen" und "ich bin einfach zu faul/zu bequem, mich erstmal selbst zu informieren" nicht mehr kennen, finde ich das ziemlich unfair. Es zeugt von einer ausgeprägten Arroganz des Fragestellers.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Sorry, aber Arrogant ist es seinen Weg als einzig richtigen zu akzeptieren und Anderen diesen aufzwingen zu wollen.
Abgesehen davon habe ich nie behaupten dass das holiday-Device etwas neues ist, sondern mehrfach geschrieben das es für MICH neu ist. Ein gewaltiger Unterschied den du bis jetzt nicht begriffen hast.
Ebenfalls habe ich jetzt mehrfach geschrieben, dass ich mich gerne mit dem Device beschäftigen werde, aber eben nicht im Moment. Was ist daran so schwer zu akzeptieren, dass meine Prioritäten im Moment anders gelagert sind. Das heißt weder, dass ich es mir nicht anschauen will, noch dass ich nicht willens bin mich weiterzubilden - beides Dinge die du mir mehrfach fälschlicherweise unterstellt hast.

Und dein Gefühl kann ich nicht ändern, liegt aber vielleicht einfach daran, dass du nicht akzeptieren kannst, dass ich mich IM AUGENBLICK eben nicht mit dem holiday-device beschäftigen kann. Versuch doch mal andere nicht zwingend von deinem Weg zu überzeugen und statt dessen einfach nur Vorschläge zu machen bei denen die Anderen selbst entscheiden können ob und wann sie sich darum kümmern.

Es ist schade, dass so eine einfache Frage wieder mal in eine Grundsatzdiskussion ausartet nur weil ich ZUR ZEIT nicht deinem Weg folgen will.

Superposchi

@betateilchen
So jetzt habe ich Zeit gehabt mich mit dem Holiday-Device auseinander zu setzen. Wie erwartet gibt es Probleme.
Beim Erstellen mit "define holidaylist holiday" wird leider keine Datei erzeugt. holidaylist als Ersatz für das <name>. Fehlermeldung:
Can't open ./FHEM/holiday/holidaylist.holiday: No such file or directory
Available holiday files: aut bb be bw by by_ext de_social en hb he hh islam2017 islam2018 islam2019 islam2020 mv ni ns nw rp sh sl sn st th


In dem Zusammenhang habe ich das Attribut modpath recherchiert in das offenbar der Pfad eingegeben werden soll.
In meinem Fall ist dort lediglich nur ein . hinterlegt. Ich finde aber nirgendwo eine Anleitung wie genau der Pfad angegeben werden soll und von welcher Ausgangsquelle aus. /opt/Fhem ist das Homeverzeichnis und im Docker-Container mit einer lokalen Pfadquelle verbunden.

Da du ja ein Fan vom holiday-Device bist, kannst du mir vielleicht helfen.

betateilchen

Die Pfadangabe ist überhaupt nicht das Problem.

Grundsätzlich muss es zum holiday-device ein gleichnamiges holiday-File geben.
Also, so lange Du ein solches File nicht angelegt hast, wirst Du immer eine Fehlermeldung wegen fehlendem holiday-File bekommen.

Warum willst Du unbedingt ein eigenes File verwenden und nicht eines der bereits vordefinierten, zum Beispiel das für "Dein" Bundesland? Für Hamburg wäre das zum Beispiel

define hh holiday

Die Liste der Bundesländer wird Dir ja in der Fehlermeldung genannt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Weil das so in der Anleitung zur Erstellung steht. Hab zwar irgendwo mal was von Bundeslandbezogenen Dateinamen gelesen, aber nirgends gefunden wie und wo die herkommen/erstellt werden.
Genauso wie für mich aus der Anleitung herausgegeben wird, dass die genannte Datei eben mit diesem Befehl zeitgleich erstellt wird und nicht vorher händisch erstellt werden muss.

betateilchen

Zitat von: Superposchi am 07 Januar 2023, 17:10:43
wie für mich aus der Anleitung herausgegeben wird, dass die genannte Datei eben mit diesem Befehl zeitgleich erstellt wird

Falsch. Eine holiday-Datei wird überhaupt nicht von FHEM erstellt.

Entweder, man benutzt eine der zahlreichen von FHEM mitgelieferten Dateien - das ist die einfache Variante und für 99% aller Fälle völlig ausreichend.
Diese Dateien kann man sogar in FHEM über die Oberfläche bearbeiten, wenn man das aus irgendwelchen Gründen möchte.

Oder man hat sich irgendwann ausführlich damit beschäftigt und verstanden, wie holiday funktioniert, und baut sich dann eine eigene Lösung - nur dann muss man ein eigenes holiday-File von Hand anlegen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: Superposchi am 07 Januar 2023, 17:10:43
Weil das so in der Anleitung zur Erstellung steht.

In der commandref finde ich nirgends einen Hinweis darauf, dass man eine holiday Datei selbst erstellen müsste. Da steht nur

ZitatDefiniert einen Satz mit Urlaubsinformationen. Das Modul versucht die Datei <name>.holiday erst in modpath/FHEM zu öffnen, und dann in modpath/FHEM/holiday, Letzteres enthält eine Liste von per FHEM-update verteilten Dateien für diverse (Bundes-)Länder. Diese Liste wird bei einer Fehlermeldung angezeigt.

Es wird also eindeutig darauf hingewisen, dass es eine Liste mit vordefinierten Dateien gibt,

ZitatLetzteres enthält eine Liste von per FHEM-update verteilten Dateien für diverse (Bundes-)Länder.

und dass der name des devices dem Namen des holiday-devices entsprechen soll.

ZitatDas Modul versucht die Datei <name>.holiday ... zu öffnen

Warum willst Du immer alles möglichst kompliziert machen, anstatt mit den einfachen Wegen anzufangen?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Ich will nichts kompliziert machen. Es gibt nur keine einheitlichen Wege hier.
<name> steht sonst immer für einen frei vergebaren Devicenamen. Nirgendwo steht in der Commandref, dass der Name einer der vorhandenen Listennamen - die übrigens erst völlig losgelöst und danach angesprochen werden - entsprechen sollte.

"Definiert einen Satz mit ..." bedeutet für mich, daß die Datei hierdurch erstellt wird. Immerhin ist definieren ein Synonym für festlegen, was im weiteren Sinn mit erstellen gleichgesetzt werden kann.

Jetzt habe ich mich einfach mal an das gehalten wie es sonst üblich ist und wieder ist es falsch. Frage: mache ich es kompliziert oder ...?

betateilchen

Wärst Du sehr beleidigt, wenn ich aufgrund Deiner Voreingenommenheit gegenüber allem was Du noch nicht kennst und wegen Deiner offenbar fehlenden Bereitschaft, Dich überhaupt von Anfang an mit "Neuem" zu beschäftigen, an dieser Stelle sage, dass ich keine Lust mehr auf diese Diskussion mit Dir habe?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Superposchi

Ich wäre gar nicht beleidigt, sondern bestenfalls darin bestärkt, daß du lediglich deine eigene Vorstellung akzeptierst.

Es ist schon interessant, dass du nicht nachvollziehen willst, dass andere Personen Probleme mit dieser Anleitung haben, nur weil du vielleicht keine hattest. Für mich jedenfalls sind die Anleitungen in Fhem oftmals sehr wiedersprüchlich und was an einer Stelle funktioniert geht an anderer Stelle wieder gar nicht.
Ich habe einiges in verschiedenen Sprachen programmiert und mich auch viel mit relativen Datenbanken auseinander gesetzt. In allen Fällen waren die Syntex und die Bedeutungen identisch was bei Fhem leider gar nicht der Fall ist.

Es tut mir leid wenn dich dieses unbeholfene und dumme Verhalten beleidigt, doch es können eben nicht alle Menschen Fhem-Gurus sein.

Puschel74

define hh holiday
aus betateilchens Beitrag von 13:54:39
hat bei meinem Testsystem ohne Fehlermeldung funktioniert.
Ich hab zwar hh durch bw ersetzt weil ich in Baden-Württemberg wohne
aber ich habe fehlerfrei ein holiday-Device für bw bekommen.
Im Raum Unsorted habe ich unter holiday ein Device bw das mir für gestern Heilige Drei Könige anzeigt
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.