FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Fixel2012 am 16 Februar 2017, 10:51:36

Titel: DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 10:51:36
Hallo,
ich habe mir ein DOIF zum Rollladen hochfahren gebaut. In dem DOIF ist die Zeit auf 07:30 definiert. Nun hätte ich gerne, dass wenn ich oder andere Familienmitglieder Urlaub haben das recht einfach auf eine andere Uhrzeit abzuändern.

Würde das vielleicht mit einem Dummy in Verbindung mit einem notify gehen?

Danke und Gruß Fixel
Titel: Antw:DOIF Zeit abändern
Beitrag von: Morgennebel am 16 Februar 2017, 10:54:37
https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung
https://wiki.fhem.de/wiki/Calendar
https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien

Ciao, -MN
Titel: Antw:DOIF Zeit abändern
Beitrag von: KernSani am 16 Februar 2017, 10:57:05
Das geht sogar ohne notify (und seit neuestem sogar ohne dummy). In der commandref gibt es Beispiele wie man einen Dummy zur Zeitsteuerung verwenden kann. (Im Prinzip einfach den Dummy statt 07:30 in die eckigen Klammern packen)

Grüße,

Oli
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 12:50:50
Zitat von: Morgennebel am 16 Februar 2017, 10:54:37
https://fhem.de/commandref_DE.html#DOIF_Wochentagsteuerung
https://wiki.fhem.de/wiki/Calendar
https://wiki.fhem.de/wiki/Wochenende,_Feiertage_und_Schulferien

Ciao, -MN

Danke, aber ich hatte nicht vor einen Kalender über die Urlaube zu führen, das ist mir zu viel Aufwand!

Hatte ich aber vergessen zu schreiben, trotzdem danke!

Zitat von: KernSani am 16 Februar 2017, 10:57:05
Das geht sogar ohne notify (und seit neuestem sogar ohne dummy). In der commandref gibt es Beispiele wie man einen Dummy zur Zeitsteuerung verwenden kann. (Im Prinzip einfach den Dummy statt 07:30 in die eckigen Klammern packen)

Grüße,

Oli

Das klingt interessant! Werde ich mir anschauen, Danke!
Titel: Antw:DOIF Zeit abändern
Beitrag von: KernSani am 16 Februar 2017, 13:39:13
Zitat von: Fixel2012 am 16 Februar 2017, 12:50:50
Danke, aber ich hatte nicht vor einen Kalender über die Urlaube zu führen, das ist mir zu viel Aufwand!
Ich habe z.B. meinen Google Kalender in FHEM eingebunden, indem ich Urlaube sowieso eintrage... kein Aufwand ;-)
Feiertage sind einmal 10 Minuten Arbeit, Schulferien jedes Jahr die URL von Schulferien.org anpassen...

Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 13:47:37
Das mit dem Dummy hat soweit geklappt!

Danke!

Zitat von: KernSani am 16 Februar 2017, 13:39:13
Ich habe z.B. meinen Google Kalender in FHEM eingebunden, indem ich Urlaube sowieso eintrage... kein Aufwand ;-)
Feiertage sind einmal 10 Minuten Arbeit, Schulferien jedes Jahr die URL von Schulferien.org anpassen...


Mhh, wenn man alleine ist geht das Super, aber 4 Kalender in Fhem und davon jeweils die Urlaubstage... Mache es lieber Manuell ;D

Das mit den Feiertagen muss ich auch noch machen! Hatte vor mir eine Holiday Datei zu bauen, muss ich die Manuell befüllen?
Titel: Antw:DOIF Zeit abändern
Beitrag von: Morgennebel am 16 Februar 2017, 14:21:06
Du kannst auch eine lokale Holiday-Datei nehmen und in $we integrieren.

Das erlaubt dann DOIFs mit |8...

Ciao, -MN
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 14:28:03
Zitat von: Morgennebel am 16 Februar 2017, 14:21:06
Du kannst auch eine lokale Holiday-Datei nehmen und in $we integrieren.

Das erlaubt dann DOIFs mit |8...

Ciao, -MN

Das hatte ich so vor!  :)

Diese kann ich dann auch entweder mit Urlaubstagen befüllen oder auch mit Feiertagen.
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 14:40:05
Beim definieren der Holiday datei kriege ich leider einen Fehler, keine Ahnung warum:

error on reading ./FHEM/Feiertage.holiday from Database!

Kann jemand was mit dem Fehler anfangen? :o
Titel: Antw:DOIF Zeit abändern
Beitrag von: KernSani am 16 Februar 2017, 15:57:24
Hast du configdb im Einsatz? Dann musst du wahrscheinlich die holiday datei in configdb importieren...
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 16:02:00
Zitat von: KernSani am 16 Februar 2017, 15:57:24
Hast du configdb im Einsatz? Dann musst du wahrscheinlich die holiday datei in configdb importieren...
Jup, habe ich :/ wie gehe ich da vor? Gibts da Zufallig eine Anleitung oder einen Leitfaden?

Gesendet von meinem ONEPLUS A3003 mit Tapatalk

Titel: Antw:DOIF Zeit abändern
Beitrag von: KernSani am 16 Februar 2017, 16:21:43
Wie üblich, die Commandref (https://fhem.de/commandref.html#configdb) ;-) Ist sogar ein Beispiel für Holiday-Kalender dabei...

Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 16 Februar 2017, 18:43:46
Zitat von: KernSani am 16 Februar 2017, 16:21:43
Wie üblich, die Commandref (https://fhem.de/commandref.html#configdb) ;-) Ist sogar ein Beispiel für Holiday-Kalender dabei...

Danke dir!

Ich bin nun so vorgagangen:

1. Manuell die holiday Datei unter ./FHEM erstellt
2. mit meinen Daten nach dem Beispiel der Commandref gefüllt
2. anschließend "configdb fileimport FHEM/hessen.holiday" in die Fhem zeile eingegeben. Dies klappte auch erfolgreich!

War das so alles richtig?

Muss ich das global Attribut holiday2we abändern? Oder geht das auch bei configdb?  ::)

Edit: Habe da noch eine Frage  ::) Was passirt denn wenn es unter der Woche ist und ein eingetragener Feiertag? Das gilt ja $we und $!we oder nicht? Überschreibt $we in diesem Fall $!we?

Das wäre ja am schlausten  ???
Titel: Antw:DOIF Zeit abändern
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 09:03:26
Hi,
was ist denn $!we? Meiner Meinung nach gibt es nur !§we und das ist immer das Gegenteil von $we.
$we für Feiertage hängt von holiday2we ab, siehe commandref.
Gruß,
   Thorsten
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 17 Februar 2017, 09:16:29
Zitat von: Thorsten Pferdekaemper am 17 Februar 2017, 09:03:26
Hi,
was ist denn $!we? Meiner Meinung nach gibt es nur !§we und das ist immer das Gegenteil von $we.
$we für Feiertage hängt von holiday2we ab, siehe commandref.
Gruß,
   Thorsten

Ich meinte "!$we" das Fragezeichen war das Satzzeichen am ende meines Satzes, sorry  ;D

Eine Holiday Datei hab ich bereits erstellt. Ich wollte nur eine Bestätigung haben, ob es auch richtig war, wie ich vorgegangen bin (siehe weiter oben).

Außerdem stellt sich für mich die Frage, ob !$we von $we im falle eines Feiertags überschrieben wird? Es ist dann ja ein Wochentag aber eigentlich auch ein Feiertag. Oder ist beides dann = true?
Titel: Antw:DOIF Zeit abändern
Beitrag von: gloob am 17 Februar 2017, 09:19:19
Ich hätte auch noch eine Variante mit DOIF, wo ich die Zeiten über FTUI einstellen kann:


define DOIF_Pflanzenlampe DOIF (["$SELF:P_mybutton: on"] or [[$SELF:P_mybegin,"06:00"]])(set sonoff7 on) DOELSEIF (["$SELF:P_mybutton: off"] or [[$SELF:P_myend,"19:00"]])(set sonoff7 off)
attr DOIF_Pflanzenlampe cmdState on|off
attr DOIF_Pflanzenlampe readingList P_mybutton P_mybegin P_myend P_mybeginHour P_mybeginMinute
attr DOIF_Pflanzenlampe room Pflanzen
attr DOIF_Pflanzenlampe setList P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
attr DOIF_Pflanzenlampe webCmd P_mybutton:P_mybegin:P_myend


define DOIF_Pflanzenlampe_Set DOIF ([DOIF_Pflanzenlampe:P_mybeginHour] or [DOIF_Pflanzenlampe:P_mybeginMinute] or [DOIF_Pflanzenlampe:P_mybeginHour] or [DOIF_Pflanzenlampe:P_mybeginMinute])(setreading DOIF_Pflanzenlampe P_mybegin {(sprintf("%02d",[DOIF_Pflanzenlampe:P_mybeginHour]))}:{(sprintf("%02d",[DOIF_Pflanzenlampe:P_mybeginMinute]))},setreading DOIF_Pflanzenlampe P_myend {(sprintf("%02d",[DOIF_Pflanzenlampe:P_myendHour]))}:{(sprintf("%02d",[DOIF_Pflanzenlampe:P_myendMinute]))})
attr DOIF_Pflanzenlampe_Set do always
attr DOIF_Pflanzenlampe_Set room Pflanzen



IN FTUI habe ich dann einen Swiper für die Stunde und einen für die Minuten.Zusätzlich können die Zeiten natürlich auch im normalen FHEM Webinterface eingestellt werden.
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 17 Februar 2017, 09:36:12
Zitat von: gloob am 17 Februar 2017, 09:19:19
Ich hätte auch noch eine Variante mit DOIF, wo ich die Zeiten über FTUI einstellen kann:


define DOIF_Pflanzenlampe DOIF (["$SELF:P_mybutton: on"] or [[$SELF:P_mybegin,"06:00"]])(set sonoff7 on) DOELSEIF (["$SELF:P_mybutton: off"] or [[$SELF:P_myend,"19:00"]])(set sonoff7 off)
attr DOIF_Pflanzenlampe cmdState on|off
attr DOIF_Pflanzenlampe readingList P_mybutton P_mybegin P_myend P_mybeginHour P_mybeginMinute
attr DOIF_Pflanzenlampe room Pflanzen
attr DOIF_Pflanzenlampe setList P_mybutton:uzsuSelectRadio,on,off P_mybegin:time P_myend:time
attr DOIF_Pflanzenlampe webCmd P_mybutton:P_mybegin:P_myend


define DOIF_Pflanzenlampe_Set DOIF ([DOIF_Pflanzenlampe:P_mybeginHour] or [DOIF_Pflanzenlampe:P_mybeginMinute] or [DOIF_Pflanzenlampe:P_mybeginHour] or [DOIF_Pflanzenlampe:P_mybeginMinute])(setreading DOIF_Pflanzenlampe P_mybegin {(sprintf("%02d",[DOIF_Pflanzenlampe:P_mybeginHour]))}:{(sprintf("%02d",[DOIF_Pflanzenlampe:P_mybeginMinute]))},setreading DOIF_Pflanzenlampe P_myend {(sprintf("%02d",[DOIF_Pflanzenlampe:P_myendHour]))}:{(sprintf("%02d",[DOIF_Pflanzenlampe:P_myendMinute]))})
attr DOIF_Pflanzenlampe_Set do always
attr DOIF_Pflanzenlampe_Set room Pflanzen



IN FTUI habe ich dann einen Swiper für die Stunde und einen für die Minuten.Zusätzlich können die Zeiten natürlich auch im normalen FHEM Webinterface eingestellt werden.

Nicht schlecht! Im normalen Fhem habe ich es bisher mit Setlist gemacht (geht schneller als mit slidern). Wie genau hast du das in das FTUI eingebunden?  Ist es möglich im FTUI ein Setlist eines dummys zu übernhemen? Also die eingetragenen Zeiten zum auswählen?

Hatte mal angefangen mit FTUI aber irgendwie ist mir das zu viel Aufwand und dauert echt lange da durch zu blicken. Aber ich werde mich da wahrscheinlich nochmal ran machen!  :D 8)


Wenn du dein FTUI Code bereitstellen könntest werde ich mal schauen ob ich das auf die Schnelle eingebunden bekomme!
Titel: Antw:DOIF Zeit abändern
Beitrag von: gloob am 17 Februar 2017, 09:53:27
Die Einbindung in FTUI ist relativ einfach:



<div class="hbox items-space-around">

<div class="tall thin">On<>
<div data-type="spinner" data-device="DOIF_Pflanzenlampe" data-cmd="setreading" data-get="P_mybeginHour" data-set="P_mybeginHour" data-min="0" data-max="23" data-step="1"  data-unit=" h" data-background-color="green" class="valueonly circulate" data-width="160" data-height="40"></>
<div data-type="spinner" data-device="DOIF_Pflanzenlampe" data-cmd="setreading" data-get="P_mybeginMinute" data-set="P_mybeginMinute" data-min="0" data-max="59" data-step="1"  data-unit=" min" data-background-color="green" class="valueonly circulate" data-width="160" data-height="40"><>
<>
Titel: Antw:DOIF Zeit abändern
Beitrag von: Thorsten Pferdekaemper am 17 Februar 2017, 10:36:55
Zitat von: Fixel2012 am 17 Februar 2017, 09:16:29
Außerdem stellt sich für mich die Frage, ob !$we von $we im falle eines Feiertags überschrieben wird? Es ist dann ja ein Wochentag aber eigentlich auch ein Feiertag. Oder ist beides dann = true?
Der Perl-Ausdruck "!$we" ist keine Variable. Nur $we ist eine Variable. Das Ausrufungszeichen bedeutet "nicht". D.h. der Ausdruck "!$we" ist immer das Gegenteil von $we. Da wird nichts überschrieben oder so. Immer wenn $we true ist, dann ist !$we false und umgekehrt.
Gruß,
   Thorsten
Titel: Antw:DOIF Zeit abändern
Beitrag von: Fixel2012 am 17 Februar 2017, 11:08:04
Zitat von: Thorsten Pferdekaemper am 17 Februar 2017, 10:36:55
Der Perl-Ausdruck "!$we" ist keine Variable. Nur $we ist eine Variable. Das Ausrufungszeichen bedeutet "nicht". D.h. der Ausdruck "!$we" ist immer das Gegenteil von $we. Da wird nichts überschrieben oder so. Immer wenn $we true ist, dann ist !$we false und umgekehrt.
Gruß,
   Thorsten

Das war mir eigentlich schon klar, dass das "!" das umgekehrte bedeutet. Wusste nur nicht das nur eins von beiden gleichzeitig true sein kann.

Danke für die Erläuterung.