FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: Muff Potter 24 am 05 Dezember 2018, 21:08:27

Titel: Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 05 Dezember 2018, 21:08:27
Ich benutze einen Raspi mit FHEM zur Rolladensteuerung. Vor einigen Tagen fiel mir auf, das die Auf -und Abfahrzeiten durch sr_weather bzw. ss_weather um 24 Stunden zeitversetzt erfolgen.
Ein Beispiel: Wenn Gestern die Zeit bei sr_weather bei 8:00 Uhr und ss_weather bei 16:00 Uhr gelegen hat, fahren heute die Rolladen zur Zeit von gestern. Morgen werden sie zu der Zeit fahren, die heute angegeben ist.
Wie könnte ich dem Problem auf die Spur kommen ? Ich bin noch Anfänger....
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 05 Dezember 2018, 21:21:21
Irgendwo hast Du irgendwas definiert wo der Fahrbefehl zum fahren der Rolladen drin steht und zwar zu der Zeit für ss_weather und sr_weather.

Dieses irgendwo mit dem irgendwas brauchen wir. Und zwar als list

list ist ein FHEM Befehl.

list DEVICENAME

in der FHEMWEB Kommandozeile ergibt eine Ausgabe.

Das machst Du erstmal für das DEVICE was irgendwo steht mit dem Inhalt irgendwas damit der Rolladen sr_weather und ss_weather fährt.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 05 Dezember 2018, 21:30:13
Internals:
   CCD_MSGCNT 7
   CCD_RAWMSG A0E07A4105055FFF112340601000063::-95:CCD
   CCD_RSSI   -95
   CCD_TIME   2018-12-05 20:53:57
   DEF        5055FF
   IODev      CCD
   LASTInputDev CCD
   MSGCNT     7
   NAME       Kueche_RL
   NOTIFYDEV  global
   NR         103
   NTFY_ORDER 50-Kueche_RL
   STATE      off
   TYPE       CUL_HM
   lastMsg    No:07 - t:10 s:5055FF d:F11234 0601000063
   protLastRcv 2018-12-05 20:53:57
   protRcv    7 last_at:2018-12-05 20:53:57
   protSnd    8 last_at:2018-12-05 20:53:57
   protState  CMDs_done
   rssi_CCD   cnt:4 min:-99 max:-83 avg:-93.25 lst:-99
   rssi_at_CCD cnt:7 min:-95 max:-80.5 avg:-88.78 lst:-95
   READINGS:
     2018-12-05 16:09:13   CommandAccepted yes
     2018-07-07 20:49:54   D-firmware      2.8
     2018-07-07 20:49:54   D-serialNr      NEQ1365678
     2018-11-15 06:35:39   PairedTo        0xF11234
     2017-04-17 15:46:26   R-driveDown     18.5 s
     2017-04-17 15:46:26   R-driveTurn     0.5 s
     2017-04-17 15:46:26   R-driveUp       18.5 s
     2017-04-17 15:46:25   R-pairCentral   0xF11234
     2017-04-17 15:46:26   R-powerUpAction off
     2017-04-17 15:46:26   R-sign          off
     2018-11-15 06:35:39   RegL_00.        02:01 0A:F1 0B:12 0C:34 15:FF 18:00 00:00
     2018-11-15 06:35:40   RegL_01.        08:00 09:00 0A:00 0B:00 0C:B9 0D:00 0E:B9 0F:05 10:00  30:06 57:24 56:00 00:00
     2018-12-05 20:53:57   deviceMsg       off (to CCD)
     2018-12-05 20:53:57   level           0
     2018-10-02 18:32:00   levelMissed     desired:0
     2018-12-05 20:53:57   motor           stop:off
     2018-12-05 20:53:57   pct             0
     2018-11-14 16:31:47   powerOn         2018-11-14 16:31:47
     2018-12-05 20:53:57   recentStateType info
     2018-12-05 20:53:57   state           off
     2018-12-05 20:53:57   timedOn         off
   helper:
     HM_CMDNR   7
     cSnd       11F112345055FF0201000000,01F112345055FF010E
     dlvlCmd    ++A011F112345055FF0201000000
     mId        006A
     regLst     ,0,1,3p
     rxType     1
     supp_Pair_Rep 0
     dir:
       cur        stop
       rct        down
     expert:
       def        1
       det        0
       raw        1
       tpl        0
     io:
       newChn     +5055FF,00,00,00
       nextSend   1544039637.43451
       prefIO     
       rxt        0
       vccu       
       p:
         5055FF
         00
         00
         00
     mRssi:
       mNo        07
       io:
         CCD:
           -93
           -93
     prt:
       bErr       0
       sProc      0
       rspWait:
     q:
       qReqConf   
       qReqStat   
     role:
       chn        1
       dev        1
       prs        1
     rpt:
       IO         CCD
       flg        A
       ts         1544039637.3355
       ack:
         HASH(0x20e4c30)
         078002F112345055FF00
     rssi:
       CCD:
         avg        -93.25
         cnt        4
         lst        -99
         max        -83
         min        -99
       at_CCD:
         avg        -88.7857142857143
         cnt        7
         lst        -95
         max        -80.5
         min        -95
     shadowReg:
     tmpl:
Attributes:
   IODev      CCD
   autoReadReg 4_reqStatus
   devStateIcon 100%:fts_shutter_10@green off:fts_shutter_100@black 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 0\d.*:fts_shutter_100
   expert     2_raw
   firmware   2.8
   model      HM-LC-Bl1PBU-FM
   peerIDs    00000000,
   room       CUL_HM,Kueche,Zentral
   serialNr   NEQ1365678
   subType    blindActuator
   webCmd     statusRequest:toggleDir:on:off:up:down:stop
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 05 Dezember 2018, 21:38:07
Ich sehe da keine Einstellung zum fahren bei ss_weather oder sr_weather.
Ichh sehe da kein

Auch als Anfänger solltest Du eigentlich wissen was Du gemacht hast um ein bestimmtes Ergebnis zu erzielen.

Überlege also noch einmal ganz genau was Du gemacht hast um Dein Ergebnis (Rolladen fahren zum Zeitpunkt ss_weather sr_weather) zu erzielen.
Ausserdem wre noch interessant was ss_weather und sr_weather genau ist. Was ist es und wo findet man es?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 05 Dezember 2018, 21:47:14
sr_weather und ss_weather gehören zur Funktion Twilight (commandref). Über Twilight werden die Wetterdaten von Yahoo geholt. Ist es sonnig fahren die Rolladen eher hoch, bei Regen später. Der Fahrbefehl wird über doif ausgeführt:
([{twilight("Twilight_Heim","ss_weather","15:00","22:12")}]) (set Kueche_RL off)
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 05 Dezember 2018, 21:51:07
Na dann sind wir der Sache ja schon mal etwas näher.

Bitte ein list vom DOIF Device hier eintragen in Codetags und dann den ganzen Beitrag ins DOIF Forum verschieben.
Ganz unten Ganz Links findest Du den Knopf "Beitrag verschieben"
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 05 Dezember 2018, 21:59:31
Internals:
   DEF        ([{twilight("Twilight_Heim","ss_weather","15:00","22:12")}]) (set Kueche_RL off)
   MODEL      FHEM
   NAME       Kueche_RL_twl_ab
   NR         110
   NTFY_ORDER 50-Kueche_RL_twl_ab
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-12-05 16:09:13   cmd             1
     2018-12-05 16:09:13   cmd_event       timer_1
     2018-12-05 16:09:13   cmd_nr          1
     2018-09-25 20:57:28   mode            enabled
     2018-12-05 16:09:13   state           cmd_1
     2018-12-05 16:09:13   timer_01_c01    06.12.2018 15:55:12
   Regex:
   attr:
     cmdState:
     waitdel:
   condition:
     0          ::DOIF_time_once($hash,0,$wday)
   days:
   devices:
   do:
     0:
       0          set Kueche_RL off
     1:
   helper:
     event      timer_1
     globalinit 1
     last_timer 1
     sleeptimer -1
     timerdev   
     timerevent timer_1
     timereventsState
     triggerDev
     DOIF_eventas:
       cmd_nr: 1
       cmd: 1
       cmd_event: timer_1
       state: cmd_1
     timerevents:
       timer_1
     triggerEvents:
       timer_1
   internals:
   interval:
   intervalfunc:
   itimer:
   localtime:
     0          1544108112
   perlblock:
   readings:
   realtime:
     0          15:55:12
   time:
     0          {twilight("Twilight_Heim","ss_weather","15:00","22:12")}
   timeCond:
     0          0
   timer:
     0          0
   timers:
     0           0
   triggertime:
     1544108112:
       localtime  1544108112
       hash:
   uiState:
   uiTable:
Attributes:
   do         always
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 05 Dezember 2018, 22:40:06
Die Angabe einer Funktion, die eine Zeit liefert bedeutet, dass die Zeit zum Zeitpunkt der Definition und dann zum Zeitpunkt des Triggers ausgewertet wird und für den nächsten Tag gesetzt wird. Daher entspricht das deinem beobachteten Verhalten.

Wenn du ein Reading als Zeittrigger angibst, wird die Zeit im Modul auch dann aktualisiert, wenn sich das Reading ändert.

z. B.

DOIF ([[Twilight_Heim:ss_weather]])...
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 05 Dezember 2018, 22:50:53
Als Alternative gibt es noch das Modul AutoShuttersControl. Es fährt die Rolläden bei Sonnenaufgang und Sonnenuntergang und noch vieles mehr.

https://forum.fhem.de/index.php/topic,92628.0.html

Einfach mal
help AutoShuttersControl
in der Kommandozeile von FHEMWEB eingeben und lesen.


Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 10:53:43
Die Funktion Autoshutterscontrol habe ich mir durchgelesen. Dort wird das Wetter nicht berücksichtigt. Also für mich eher uninteressant.

Twilight holt von Yahoo um Mitternacht die Daten für sr (sunrise) sr_indoor usw. von Yahoo ab. Dann werden die Auffahrzeiten für die Rollade z.B. auf 8:00 Uhr gesetzt. Exact eine Stunde vorher werden, in diesem Fall um 7:00 Uhr, noch einmal die Wetterdaten geholt um Änderungen anpassen zu können.
Und dieser Aufwand soll betrieben werden nur damit dann die alten Daten von Gestern verwendet werden ? Logisch ist das nicht.

Meiner Meinung nach liegt ein Fehler vor, der mit der Twilight Funktion zu tun hat.  Doif funktioniert einwandfrei.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 06 Dezember 2018, 11:00:48
Mal ab Deiner Aussage das da ein Fehler vor liegt.
An Deiner Beschreibung bezüglich Wetter gehe ich davon aus das Du vor allem auf einen exakten Helligkeitswert aus bist ab den die Rollläden fahren sollen.
Wenn dem so ist und Du einen Helligkeitssensor haben solltest kannst Du auch diesen für rauf und runter fahren im ASC (AutoShuttersControl) mit angeben und musst nicht Astro verwenden.
Ist nur ein Tip.

Bei Twilight kann ich Dir leider nicht helfen.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 11:10:03
Einen Helligkeitssensor habe ich leider nicht. Soll aber später nachgerüstet werden.

In welchen Forumteil müsste ich meinen Anfrage schieben um Hilfe zu Twilight zu erhalten ?

Vielen dank für deine Hilfe
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 06 Dezember 2018, 11:15:49
Laut MAINTAINER.txt

https://svn.fhem.de/trac/browser/trunk/fhem/MAINTAINER.txt
Unterstuetzende Dienste/Wettermodule

Maintainer ist der User igami, er hat das Modul allerdings geerbt. Du müsstest also bitte versuchen so viele Informationen bereit zu stellen wie möglich.


Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 06 Dezember 2018, 12:56:57
Zitat von: Muff Potter 24 am 06 Dezember 2018, 10:53:43
Die Funktion Autoshutterscontrol habe ich mir durchgelesen. Dort wird das Wetter nicht berücksichtigt. Also für mich eher uninteressant.

Twilight holt von Yahoo um Mitternacht die Daten für sr (sunrise) sr_indoor usw. von Yahoo ab. Dann werden die Auffahrzeiten für die Rollade z.B. auf 8:00 Uhr gesetzt. Exact eine Stunde vorher werden, in diesem Fall um 7:00 Uhr, noch einmal die Wetterdaten geholt um Änderungen anpassen zu können.
Und dieser Aufwand soll betrieben werden nur damit dann die alten Daten von Gestern verwendet werden ? Logisch ist das nicht.

Meiner Meinung nach liegt ein Fehler vor, der mit der Twilight Funktion zu tun hat.  Doif funktioniert einwandfrei.

Hast du meinen Vorschlag mit der Angabe des Readings aus Twilight schon ausprobiert?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 16:27:29
Ich habe es jetzt so abgeändert:
DOIF ([["Twilight_Heim","sr_weather","06:24","09:42"]]) (set Kueche_RL 62)

Ist das so richtig ?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 06 Dezember 2018, 16:39:37
Zitat von: Muff Potter 24 am 06 Dezember 2018, 16:27:29
An den readings habe ich vor 2 Jahren nichts geändert. Mein derzeitiger Aufruf über doif sieht so aus:
([{twilight("Twilight_Heim","ss_weather","15:00","22:12")}]) (set Kueche_RL off)

Nein, twilight ist hier eine Funktion und diese wird nur bei der Definition des DOIFs und wenn die nächste Zeit gesetzt werden soll ausgeführt. Da wird der Autor der Funktion auch nichts machen können, denn den Zeitpunkt des Aufrufs der Funktion bestimmt der User (hier über DOIF).

Hier wird dagegen ein Reading ausgewertet, und wenn sich die Zeit im Reading ändert, dann erkennt das das DOIF-Modul und setzt die Zeit neu:

([[Twilight_Heim:ss_weather]]) (set Kueche_RL off)

Aber das habe ich ja alles bereits schon geschrieben.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 17:13:31
Bin wie gesagt  noch Anfänger. Habe es jetzt so abgeändet:

DOIF ([["Twilight_Heim","sr_weather","06:24","09:42"]]) (set Kueche_RL 62)

Ist das so richtig ?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 06 Dezember 2018, 17:55:28
Zitat von: Muff Potter 24 am 06 Dezember 2018, 17:13:31
Bin wie gesagt  noch Anfänger. Habe es jetzt so abgeändet:

DOIF ([["Twilight_Heim","sr_weather","06:24","09:42"]]) (set Kueche_RL 62)

Ist das so richtig ?

Leider nein. Nur so wie ich es geschrieben habe, die zusätzliche zeitliche Eingrenzung lässt sich dann nicht angeben.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 18:06:20
Also so:
DOIF ([["Twilight_Heim":"sr_weather"]]) (set Kueche_RL 62)

Muss do always bestehen bleiben oder kann ich das löschen ?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 06 Dezember 2018, 18:20:28
Zitat von: Muff Potter 24 am 06 Dezember 2018, 18:06:20
Also so:
DOIF ([["Twilight_Heim":"sr_weather"]]) (set Kueche_RL 62)

Muss do always bestehen bleiben oder kann ich das löschen ?

Das ist immer noch nicht die Syntax, die ich gepostet habe. Wenn du ss_weather und sr_weather in ein DOIF-Modul packst, dann wirst du auch kein do always benötigen. Allerdings solltest du dir mal eine halbe Stunde Zeit nehmen und die Commandref zu DOIF aufmerksam lesen, sonst wirst du noch viele "einfache" Fragen stellen.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 18:49:26
Ich lese schon seit einer Stunde in der Commandref. Für einen Laien ist es halt nicht so einfach den richtigen Weg zu finden. Da kommen halt mal einige "einfache" bis "einfach dumme" Fragen auf.
Habe glatt die Gänsefüsschen übersehen. Nun sieht es so aus:
DOIF ([[Twilight_Heim:ss_weather]]) (set Kueche_RL 62)

doif always wurde entfernt
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 06 Dezember 2018, 18:54:44
Zitat von: Muff Potter 24 am 06 Dezember 2018, 18:49:26
Ich lese schon seit einer Stunde in der Commandref. Für einen Laien ist es halt nicht so einfach den richtigen Weg zu finden. Da kommen halt mal einige "einfache" bis "einfach dumme" Fragen auf.
Habe glatt die Gänsefüsschen übersehen. Nun sieht es so aus:
DOIF ([[Twilight_Heim:ss_weather]]) (set Kueche_RL 62)

doif always wurde entfernt

Wenn du das Modul öfters nutzen möchtest, wirst du noch einige Stunden zum Lesen investieren müssen.

Den DOELSEIF-Fall im gleichen DOIF für sr_weather wirst du schon alleine schaffen.  ;)
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 19:09:49
Dein Vertrauen ehrt mich :D:
DOIF ([[Twilight_Heim:ss_weather]]) (set Kueche_RL 62) DOELSEIF (set Kueche_RL off)

Hoffentlich nicht unbegründet....
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Frank_Huber am 06 Dezember 2018, 19:35:51
DOELSEIF benötigt eine Bedingung. [emoji6]

Gesendet von meinem Doogee S60 mit Tapatalk

Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 06 Dezember 2018, 21:33:40
An der Bedingung arbeite ich gerade.
Meiner Meinung nach muss die Rollade eine Zeitbegrenzung bekommen. Heute Nacht um Mitternacht holt Twilight neue Daten. Da sich dann sr_weather und ss_weather ändern müsste die Rollade dann hochfahren.
Derzeit sieht es so aus:
DOIF ([05:00-22:00] and ([[Twilight_Heim:sr_weather]])) (set Kueche_RL 62)
DOELSEIF [22:01-04:59] (set Kueche_RL off)


Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 10:43:50
Die Rollade ist heute Morgen nicht hochgfahren. Wo kann der Fehler liegen ?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 10:49:07
Ein list vom DOIF bitte
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 10:52:46
List ist in Beitrag 24
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 11:01:35
Das ist kein list!!
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Damian am 07 Dezember 2018, 13:03:30
Ein List ist in Post 7.

Ein list ist mehr als nur die Definition. Ich weiß aber jetzt schon, was in deinem list drin steht: status cmd_1

Da musst du das Konzept mit der Zustandsauswertung in DOIF bzw. die Beschreibung zu do always noch mal nachlesen.


Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 13:11:32
Model ist von FHEM nach Perl gewechselt.
Internals:
   DEF        DOIF ([05:00-22:00] and ([[Twilight_Heim:sr_weather]])) (set Kueche_RL 62)
DOELSEIF [22:01-04:59] (set Kueche_RL off)
   MODEL      Perl
   NAME       Kueche_RL_twl_auf
   NR         106
   NTFY_ORDER 50-Kueche_RL_twl_auf
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-12-07 10:35:25   mode            enabled
     2018-12-06 17:03:43   state           initialized
   Regex:
   condition:
     0         
   devices:
   helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   itimer:
   perlblock:
     0         
   uiState:
   uiTable:
Attributes:
   room       Kueche
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 13:17:40
Hast Du das Device modifiziert? Also was daran geändert? Weil da jetzt gar nichts ausgelöst hat. War das heute Morgen auch schon so? Oder stand es im cmd_1 wie von Damian gesagt?

Persönlich würde ich die ganze Logik noch mal überdenken. So wie das da jetzt steht ist es zu kurz gedacht behaupte ich.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 13:24:30
Nein so steht es seit gestern Abend. Initialized und nicht cmd_1. Es war aber bisher auch so, das mit meinen alten Einstellungen mit der 24 Stunden Verzögerung bei Änderungen erst nach dem ersten abarbeiten des Befehls von Initialized auf cmd_1 gewechselt wurde. Was mich wundert ist, das in den Perlmodus gewechselt wurde, obwohl ich doch runde Klammern verwendet habe.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Frank_Huber am 07 Dezember 2018, 13:39:11
so wie das da jetzt steht kann es nicht geben.

Wo hast Du denn das "DOIF" am anfang der DEF her? das gehört da sicher nicht hin.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 13:44:56
Jepp auch gerade gesehen.

Ich habe mir mal erlaubt Deine Definition bei mir ins Testsystem zu kippen.
Wenn man alles richtig macht bekommt man als Ergebnis timer_ in den Readings. Zu den Timerzeiten wird dann aus gelöst.

Wie gesagt, mach das DOIF am Anfang noch weg und dann solltest Du zu mindesteb Timer bekommen.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 13:53:34
Ich habe versucht Rat von Damian aus Antwort 7 zu befolgen. Zusätzlich soll aber noch eine Zeit (von - bis) wo der Rolladen fahren darf eingebracht werden.

Meiner Meinung nach würde der Rolladen ohne Zeitbegrenzung zum ersten mal nachts um 12:00 Uhr fahren wenn die Zeiten durch Twilight festgelegt werden. Und zum zweiten Mal eine Stunde vor der erechneten Zeit des auffahrens.

Vereinfacht gesagt soll die Rollade den Fahrbefehl ausführen, wenn der Befehl in der erlaubten Zeit liegt und sr_weather erreicht ist.

Den alten Befehl der leider zu einem Versatz von 24 Stunden führte hatte ich so definiert:
define Kueche_RL_twl_auf DOIF ([{twilight("Twilight_Heim","sr_weather","06:24","09:00")}]) (set Kueche_RL 62)
attr Kueche_RL_twl_auf do always
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 13:58:26
Dein Problem ist das Dir die Basics fehlen und Du Dir diese anscheinend auch nicht an eignen willst oder kannst.
Wenn Du im FHEMWEB in die Details Deines DOIF gehst solltest Du sowas wie im Bild eins sehen.

Da drückst Du dann auf modify und änderst Dein DOIF so das in der DEF Zeile das DOIF weg ist.




Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 14:01:47
Ich habe das Doif und doelseif entfernt. List sieht so aus:
Internals:
   DEF        ([05:00-22:00] and ([[Twilight_Heim:sr_weather]])) (set Kueche_RL 62)

   MODEL      FHEM
   NAME       Kueche_RL_twl_auf
   NR         106
   NTFY_ORDER 50-Kueche_RL_twl_auf
   STATE      initialized
   TYPE       DOIF
   READINGS:
     2018-12-07 13:55:33   cmd             0
     2018-12-07 13:55:33   mode            enabled
     2018-12-07 13:55:33   state           initialized
     2018-12-07 13:55:33   timer_01_c01    08.12.2018 05:00:00
     2018-12-07 13:55:33   timer_02_c01    07.12.2018 22:00:00
     2018-12-07 13:55:33   timer_03_c01    08.12.2018 09:10:19
   Regex:
   condition:
     0          ::DOIF_time($hash,0,1,$wday,$hms) and (::DOIF_time_once($hash,2,$wday))
   days:
   devices:
   do:
     0:
       0          set Kueche_RL 62
     1:
   helper:
     globalinit 1
     last_timer 3
     sleeptimer -1
   interval:
     0          -1
     1          0
   intervalfunc:
   itimer:
     all         Twilight_Heim
   localtime:
     0          1544241600
     1          1544216400
     2          1544256619
   realtime:
     0          05:00:00
     1          22:00:00
     2          09:10:19
   time:
     0          05:00:00
     1          22:00:00
     2          [Twilight_Heim:sr_weather]
   timeCond:
     0          0
     1          0
     2          0
   timer:
     0          0
     1          0
     2          0
   timers:
     0           0  1  2
   triggertime:
     1544216400:
       localtime  1544216400
       hash:
     1544241600:
       localtime  1544241600
       hash:
     1544256619:
       localtime  1544256619
       hash:
   uiState:
   uiTable:
Attributes:
   room       Kueche


09:10 Uhr ist die Auffahrzeit von heute Morgen. Könnte es also so funktionieren ?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 14:10:51
Sieht erstmal ok aus.
So und jetzt mal kurz das was Du hättest eigentlich lesen müssen.

DOIF arbeitet vom Prinzip wie eine Zustandsmaschine. Bedeutet, ist ein Zustand erreicht muss erst ein anderer Zustand hergestellt werden damit wieder in den vorherigen gewechselt werden kann.
Aktuell würde Deine Definition genau einmal funktionieren.
Du hast nun also 2 Möglichkeiten. Das Attribut do always sorgt dafür das ein und der selbe Zustand mehrmals ausgeführt werden kann ohne einen vorherigen Wechsel.
Oder Du sorgst für einen Wechsel mittels DOELSEIF dann müsst Du aber eine Bedingung mit angeben oder DOELSE das macht man ohne Bedingung.

Persönlich würde ich einfach erstmal ein DOELSEIF nehmen und eine weitere Bedingung ansetzen. Auch würde ich die Zeiten etwas enger nehmen.

([04:30-09:00] and [[Twilight_Heim:sr_weather]]) (set Kueche_Hirsch_RL 62) DOLSEIF ([15:30-22:00] and [[Twilight_Heim:ss_weather]]) (set Kueche_Hirsch_RL runter)
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 14:11:55
@CoolTux
Ich habe Gestern mehr als 1.5 Stunden in der Commandref und im Wiki gelesen.
Es ist nicht so das ich mir das Wissen nicht aneignen möchte.
Allerdings spielt der Faktor Zeit immer einen Rolle. Wie bei jedem Anderen hier auch.
Ich habe 35 Jahre Computererfahrung. In Sachen FHEM bin ich Neuling. Aber immer begeistert wenn ich noch etwas Neues lernen kann. ;)
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 14:19:29
Dann biete ich Dir mit Freuden an heute gegen 21 Uhr in meine Schule zu kommen  :)
Zitat



Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Beta-User am 07 Dezember 2018, 14:25:30
(Sorry für etwas OT)
@Muff Potter 24,

nur meine private Meinung, aber evtl. willst du sie hören: wenn du Programmieren kannst, mach' es direkt in Perl oder mit den Modulen, die speziell für den jeweiligen Zweck gemacht sind. DOIF ist eine Programmiersprache für sich, die man als solche begreifen und lernen muß.

Hier würde ich die wenigen Beispiele für "at" in der commandref zur Lektüre empfehlen, wenn du es ähnlich, aber mit Schließen und Wochentagsgesteuert haben willst, bist du bei "WeekdayTimer" richtig.
Oder, wenn es um Rolläden geht, beim AutoShuttersControl-Modul, das allerdings sehr viele Optionen enthält und daher (zumindest im Moment noch) nicht für Anfänger so gut geeignet ist, die erst dabei sind, sich Grundlagen anzueignen.

Ansonsten würde ich die Perl-Specials in der Commandref noch lesen und den notify-Artikel in der Commandref.

Gerne kannst du rückmelden, ob das eher hilfreich ist oder eben nicht.

Viel Spaß jedenfalls noch mit FHEM,

Beta-User

Nachtrag: Das Angebot von CoolTux solltest du annehmen!
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Frank_Huber am 07 Dezember 2018, 14:26:45
Hi Leon,

bei "Einzeilern" ist IMHO schon eine Weile kein DOELSE oder do always mehr notwendig.
das setzt DOIF alleine dazu.
Hat Damian vor einer Weile in nem anderen Thread geschrieben.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 14:33:03
Zitat von: Frank_Huber am 07 Dezember 2018, 14:26:45
Hi Leon,

bei "Einzeilern" ist IMHO schon eine Weile kein DOELSE oder do always mehr notwendig.
das setzt DOIF alleine dazu.
Hat Damian vor einer Weile in nem anderen Thread geschrieben.

Danke Dir. Ist eine gute Info
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 14:46:07
@Beta-User

Vielen Dank für die Tips. Ich werde mal versuchen mich etwas mehr einzuarbeiten. Ich hoffe ich finde die Zeit....

@ CoolTux
Vielen Dank für die Einladung. Gibt es auch Termine die in der Woche liegen ? Ist es auch für FHEM-Stümper wie mich geeignet ?
Heute Abend kann ich leider nicht. Denn da findet das Gegenteil von Wissen aneignen statt....Bier trinken :) 
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 14:51:03
Zitat von: Muff Potter 24 am 07 Dezember 2018, 14:46:07
@ CoolTux
Vielen Dank für die Einladung. Gibt es auch Termine die in der Woche liegen ? Ist es auch für FHEM-Stümper wie mich geeignet ?
Heute Abend kann ich leider nicht. Denn da findet das Gegenteil von Wissen aneignen statt....Bier trinken :)

Ein Termin mitten in der Woche wäre auch möglich. Kannst ja mal ein Vorschlag machen (Rechtzeitig bitte und nicht vor 20:30 Uhr).
Das Webinar wäre exklusiv nur für Dich. Es sei denn andere haben auch Interesse und kommen dazu.
Ich bin aktuell dabei Lernfolien vor zu bereiten und somit einen Anfängerkurs auf zu bauen. Aber das dauert noch etwas.


Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 15:03:04
Bei meinem "Kenntnissstand" dürfte der Anfängerkurs eher geeignet sein. Ich kann aber natürlich auch bei den Fortgeschrittenen ´reinschnuppern. Auch wenn ich nicht gleich alles verstehe.
Darf ich mich dann am nächsten Freitag mal einklinken und ist der Link dann noch gültig ? Wie kann ich die Termine für den Anfängerkurs in Erfahrung bringen wenn die Folien fertig sind ?
Wieviel kostet der Kurs ?
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 15:17:19
Zitat von: Muff Potter 24 am 07 Dezember 2018, 15:03:04
Bei meinem "Kenntnissstand" dürfte der Anfängerkurs eher geeignet sein. Ich kann aber natürlich auch bei den Fortgeschrittenen ´reinschnuppern. Auch wenn ich nicht gleich alles verstehe.
Darf ich mich dann am nächsten Freitag mal einklinken und ist der Link dann noch gültig ? Wie kann ich die Termine für den Anfängerkurs in Erfahrung bringen wenn die Folien fertig sind ?
Wieviel kostet der Kurs ?

Immer langsam mein Lieber. Du hast da was missinterpretiert.
1. Mein Angebot war nur an Dich gerichtet. Wenn andere gerne dazu kommen wollen dann bitte, aber ansonsten nur für Dich.
2. Das mit den Folien und den Anfängerkurs ist eine Idee die keimt und wo es bereits erste Ansätze für Material gibt. Ist aber noch lange nicht Spruchreif.
3. Es kostet gar nichts. (wieso muss immer alles was kosten?  :)  )

Nächsten Freitag + Wochenende ist schlecht. An sonsten gerne an jedem anderen Tag. Bei mir ginge aktuell auch noch dieses Wochenende. Immer dann ab 21 Uhr.
Ich würde dann natürlich einen neuen Termin machen und es gibt auch einen neuen Link.

Aber wie gesagt ist alles Frei, Du musst nicht und es kostet nichts. Ich würde Dir einfach ein paar generelle FHEM Dinge zeigen. Aufbau FHEMWEB wie das mit den Device anlegen funktioniert und wie man zum Beispiel DOIF's oder notify's mittels Eventmonitor anlegen und schnell testen kann.


Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Beta-User am 07 Dezember 2018, 15:29:07
@CoolTux

Super Angebot!

Wenn du magst, klinke ich mich gerne bei Verfügbarkeit ein und versuche dann schlicht meine Klappe zu halten. Ziel wäre, Rückmeldung zu geben zu dem, was du hast (ist ja für die Allgemeinheit dann gedacht, oder?). Mußt halt hinterher mein feedback aushalten...
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 16:01:44
@CoolTux und Beta-User
Da nächstes WE ausscheidet und am WE danach schon Weihn8en vor der Tür steht, würde ich einen Termin in der kommenden Woche vorschlagen.
Wann wäre mir egal.

P.S.
Kostenlos gab es nur früher bei Mutter Theresa (als sie noch lebte) und bei der Heilsarmee ;)

Also Vielen Dank für das Angebot.....
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 16:19:11
Zitat von: Beta-User am 07 Dezember 2018, 15:29:07
@CoolTux

Super Angebot!

Wenn du magst, klinke ich mich gerne bei Verfügbarkeit ein und versuche dann schlicht meine Klappe zu halten. Ziel wäre, Rückmeldung zu geben zu dem, was du hast (ist ja für die Allgemeinheit dann gedacht, oder?). Mußt halt hinterher mein feedback aushalten...

Sehr gerne. Könne wir gerne drüber reden. Hatte vor 2 Wochen schon einen Termin mit jemanden. Auch Beginner.
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Beta-User am 07 Dezember 2018, 16:31:13
Zitat von: Muff Potter 24 am 07 Dezember 2018, 16:01:44
Kostenlos gab es nur früher bei Mutter Theresa (als sie noch lebte) und bei der Heilsarmee ;)
Wir profitieren alle von dem, was es hier kostenlos gibt: FHEM!

Da steckt eine Menge mehr an Arbeit drin von (vor allem) anderen Leuten, die das in ihrer Freizeit entwickelt haben. Leider ist die Doku nicht in allen Bereichen mitgewachsen (auch wenn das Einsteiger-pdf nach wie vor super ist!), in anderen Bereichen ist sie sehr ausufernd, und das macht es Einsteigern zunehmend schwer, erst mal durchzublicken und die grundlegenden Dinge in dem ganzen Informationsdickicht zu finden.

Ich habe da auch viel zu viel Zeit dafür gebraucht, das zu erarbeiten und halbwegs zu verstehen. Wer auch immer da einen Anlauf nimmt, das für Einsteiger zu verbessern, darf mich gerne um Unterstützung fragen. Das ist das wenige, was ich zurückgeben kann ;) . Siehst du vielleicht mal genauso und machst es dann auch so (wie viele andere auch, auch wenn man sich über den Weg manchmal nicht so ganz einig ist...).

Aber um es klar zu sagen: Mein Angebot galt CoolTux, nicht dir! Wenn ich eingeladen werde und Zeit habe, dann aber irgendwas (außer "guten Abend" und am Ende "mal liest sich") sage, pfeift mich zurück, es ist und bleibt CoolTux Angebot an dich, nicht meines...

Zitat von: CoolTux am 07 Dezember 2018, 16:19:11
Sehr gerne. Könne wir gerne drüber reden. Hatte vor 2 Wochen schon einen Termin mit jemanden. Auch Beginner.
Dann lass mir deinen Wunschtermin zukommen, abends geht es nächste Woche nur Mo oder Mi.

@Muff...: Gutes Einarbeiten jedenfalls ;) .
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 07 Dezember 2018, 16:55:50
@Beta-User
Das mit Mutter Theresa sollte einfach nur ein lockerer Spruch sein. Da war keine böse Absicht dahinter.

Ich selbst habe über die Jahre schon manchen PC kostenlos repariert und auch noch meine eigenen Bauteile aus dem Schrank geholt.
Von Freundes- oder Nachbarschaftshilfe will ich schweigen. Ehrenamtliche Tätigkeiten gillt es auch noch an anderen Stellen zu leisten.

Um den zeitl. Aufwand für CoolTux gering zu halten, hatte ich gedacht wir könnten uns zu Dritt zusammen tun.
Da das offensichtlich nicht geht, klinke ich mich aus und widme mich der Commandref.

Trotzdem Vielen Dank für eure Hilfe
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Beta-User am 07 Dezember 2018, 17:03:31
@Muff Potter 24:

Sehe keine Terminkollission, und es geht ganz bequem auch ohne mich, ich wollte das nicht verkomplizieren und brauche auch keine Einsteigereinweisung mehr (no comment, please!)  ;D ;D :) .

Also macht das ruhig ohne mich, CoolTux findet mich, für den (nicht ganz unwahrscheinlichen) Fall, dass jemand (anderes) sowas gerne annehmen will :) .
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 07 Dezember 2018, 18:10:02
Abend schön.
Ich würde den Dienstag ab 20:30 Uhr vorschlagen. Gib einfach Bescheid wenn es passt.


Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: Muff Potter 24 am 08 Dezember 2018, 20:46:43
Dienstag passt prima. Welche Uhrzeit 20:30 Uhr oder lieber einen halbe Stunde später ?

Die Rolladen sind passend gefahren. Das der Doif Befehl ohne vorangestelltes Doif funktioniert hätte ich alleine nicht heraus gefunden.

Denk bitte an den Link.

Schönen Abend
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 08 Dezember 2018, 21:41:17
lädt Sie zu einem geplanten Zoom Meeting ein.

11.12.2018
20:30 - 21:30 Uhr

Nehmen Sie teil von PC, Mac, Linux, iOS oder Android
https://zoom.us/j/521731429

Per Telefon beitreten
Mit einem Fingertipp auf dem iPhone:
+496980883899,,521731429#
+493030806188,,521731429#
Wählen(Für höhere Qualität eine auf Ihrem aktuellen Standort basierende Nummer wählen):
+49 (0) 69 8088 3899 Deutschland
+49 (0) 30 3080 6188 Deutschland
+49 (0) 30 5679 5800 Deutschland
Meeting-ID: 521 731 429
Verfügbare internationale Nummern:
https://zoom.us/u/abDe4KpXab



Grüße
Titel: Antw:Rolladenansteuerung über Twilight 24 Stunden zeitversetzt
Beitrag von: CoolTux am 11 Dezember 2018, 20:16:25
Zitat von: CoolTux am 08 Dezember 2018, 21:41:17
lädt Sie zu einem geplanten Zoom Meeting ein.

11.12.2018
20:30 - 21:30 Uhr

Nehmen Sie teil von PC, Mac, Linux, iOS oder Android
https://zoom.us/j/521731429

Per Telefon beitreten
Mit einem Fingertipp auf dem iPhone:
+496980883899,,521731429#
+493030806188,,521731429#
Wählen(Für höhere Qualität eine auf Ihrem aktuellen Standort basierende Nummer wählen):
+49 (0) 69 8088 3899 Deutschland
+49 (0) 30 3080 6188 Deutschland
+49 (0) 30 5679 5800 Deutschland
Meeting-ID: 521 731 429
Verfügbare internationale Nummern:
https://zoom.us/u/abDe4KpXab



Grüße


Zur Erinnerung