Ankündigung

Einklappen
Keine Ankündigung bisher.

einfache Zeitsteuerung unter Openhab2

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #46
    Danke Euch beiden für die Unterstützung und Hilfe, ich habe sehr viel gelernt und auch die Blickwinkel verstanden.
    mfg
    Micha

    Kommentar


      #47
      Es geht...es geht... Danke...Danke...Danke

      mit

      BEGIN:Rollo1:1
      END:Rollo1:100

      kann ich jetzt zeitgesteuert über Kalendereinträge meine Rollos auf/abfahren

      nochmals Danke für die Unterstützung



      Kommentar


        #48
        Hallo,
        ich würde gerne noch einmal einige Schritte zurück, um auch bei dem Titel zu bleiben :-)

        Ich würde gerne eine einfach Zeitsteuerung für meine WW_Zirku_Pumpe erstellen.
        Aktuell sieht meine .rules so aus.

        rule"WW_Zirku_1"
        when
        Time cron "0 0 6 * * ?"
        then
        sendCommand(WW_Zirku, ON)
        when
        Time cron "0 30 6 * * ?"
        then
        sendCommand(WW_Zirku, OFF)
        end
        Leider passiert gar nichts...
        Ich denke ich habe einen generellen Fehler.

        Die Anbindung KNX/OH funktioniert.
        Außerdem habe ich das NTP Time Binding auch in Funktion.

        Viele Grüße,
        BGA


        Kommentar


          #49
          Was daran liegt, dass Du keine gültige Rule geschrieben hast. Eine Rule hat immer exakt folgenden Rahmen:
          Code:
          rule "Eineindeutiger Name der Rule"
          when
              //Trigger-Teil der Rule
              //beliebige Anzahl Trigger, jeder einzelne Trigger triggert die Rule,
              //alle Trigger werden durch das Schlüsselwort [COLOR=#FF0000][B]or[/B][/COLOR] voneinander getrennt
          then
              //Execute-Teil der Rule
          end
          Du musst also zwei Rules schreiben:
          Code:
          rule "WW_Zirku_1on"
          when
              Time cron "0 0 6 * * ?"
          then
              sendCommand(WW_Zirku, ON)
          end
          
          rule "WW_Zirku_1off"
          when
              Time cron "0 30 6 * * ?"
          then
              sendCommand(WW_Zirku, OFF)
          end
          Wahlweise kannst Du auch eine Rule schreiben:
          Code:
          rule "WW_Zirku_1"
          when
              Time cron "0 0,30 6 * * ?"
          then
              if (now.minuteOfHour == 0)
                 sendCommand(WW_Zirku, ON)
              else
                 sendCommand(WW_Zirku, OFF)
          end
          Außerdem werbe ich immer für die Verwendung von Methoden.:
          WW_Zirku.sendCommand(OFF) bewirkt das gleiche wie sendCommand(WW_Zirku, OFF), hat aber den Vorteil, dass openHAB genau weiß, welches Format der Eingabewert haben muss (in diesem Fall z.B. OnOffType), während die Action sendCommand(WW_Zirku, OFF) aus dem OFF erst ein "OFF" macht (also einen String). Im vorliegenden Fall ist das wurscht, es gibt aber Situationen, wo es keine Methode .toString gibt (die versucht openHAB auszuführen), womit dann die Wandlung schief geht und die Rule nicht funktioniert.

          Kommentar


            #50
            Super, funktionieren beide einwandfrei.
            Man lernt nie aus...

            Kommentar


              #51
              Hallo Zusammen,

              ich hol das Thema aus akutellem Anlass mal nach oben.

              Ich würde gerne meine Außenbeleuchtung zeitgesteuer ein-/ausschalten.

              Ich dabei wie folgt vorgegengen:

              knx.item
              Code:
              Switch           steckdose_haustuer_aussen        "Steckdose Eingang Haustür    [%s]"            <light>            (gGarten)          [ "Lighting"]        { channel="knx:device:bridge:generic:steckdose_haustuer_aussen" }
              knx.things
              Code:
              Type switch             : steckdose_haustuer_aussen               "Steckdose Eingang Haustür"         [ga="0/0/6+<10/0/6"]
              knx.rules
              Code:
              when
              Time cron "0 0 6 * * ?" or
              Time cron "0 30 16 * * ?"
              then
              sendCommand(steckdose_haustuer_aussen, ON)
              end
              
              rule "Außenbeleuchtung AUS"
              
              when
              Time cron "0 30 7 * * ?" or
              Time cron "0 30 22 * * ?"
              sendCommand(steckdose_haustuer_aussen, OFF)
              end
              Würde das Ganze so passen?
              Ich konnte nur Beispiele für OH1 finden.

              Vielen Dank für die Rückmeldungen.


              Viele Grüße
              Florian
              Zuletzt geändert von FloBi; 28.11.2019, 22:37.
              Viele Grüße
              Florian

              Kommentar


                #52
                Abgesehen davon, dass Code, der direkt aus VSCode heraus hier im Forum als Code gepostet wird, leider nicht so ankommt, wie er ursprünglich aussah (und auch die Farben eher suboptimal sind), sehen die Codeschnipsel erst mal gut aus.

                Tipp hierzu: die billige Variante ist, den Inhalt der Zwischenablage in Notepad einzufügen und anschließend erneut auszuschneiden.
                Die aufwändige Variante geht über den Foreneditor, dort gibt es einen Knopf, um sämtliche Formatierungen zu entfernen. Leider fehlen aber auch ein paar Leerzeichen (überall, wo es Farbübergänge im Text gibt), so dass man hier zumindest noch Nacharbeiten hat. Deswegen aufwändig)

                Man kann übrigens auch bestehende Postings bearbeiten

                Was kann das nur für eine Außenbeleuchtung sein, um diese Jahreszeit?

                Kommentar


                  #53
                  Guten Abend,

                  es handelt sich natürlich, wie vermutet, um die Deko-Beleuchtung zu Weihnachten.

                  Nur leider funktioniert die Rule nicht!?

                  Muss ich die Rule noch irgendwie aktivieren, oder arbeitet OpenHAB die Rule automatisch ab?
                  Viele Grüße
                  Florian

                  Kommentar


                    #54
                    Bei der 2. Rule fehlt das Schlüsselwort then nach dem 2. Time cron.

                    Kommentar


                      #55
                      Zitat von udo1toni Beitrag anzeigen
                      Bei der 2. Rule fehlt das Schlüsselwort then nach dem 2. Time cron.


                      Besten Dank, dass wars.
                      Die Zeitschaltung funktioniert nun wie gewünscht.
                      Viele Grüße
                      Florian

                      Kommentar


                        #56
                        Zitat von FloBi Beitrag anzeigen
                        Hallo Zusammen,

                        ich hol das Thema aus akutellem Anlass mal nach oben.

                        Ich würde gerne meine Außenbeleuchtung zeitgesteuer ein-/ausschalten.

                        Ich dabei wie folgt vorgegengen:

                        knx.item
                        Code:
                        Switch steckdose_haustuer_aussen "Steckdose Eingang Haustür [%s]" <light> (gGarten) [ "Lighting"] { channel="knx:device:bridge:generic:steckdose_haustuer_aussen" }
                        knx.things
                        Code:
                        Type switch : steckdose_haustuer_aussen "Steckdose Eingang Haustür" [ga="0/0/6+<10/0/6"]
                        knx.rules
                        Code:
                        when
                        Time cron "0 0 6 * * ?" or
                        Time cron "0 30 16 * * ?"
                        then
                        sendCommand(steckdose_haustuer_aussen, ON)
                        end
                        
                        rule "Außenbeleuchtung AUS"
                        
                        when
                        Time cron "0 30 7 * * ?" or
                        Time cron "0 30 22 * * ?"
                        then
                        sendCommand(steckdose_haustuer_aussen, OFF)
                        end
                        Würde das Ganze so passen?
                        Ich konnte nur Beispiele für OH1 finden.

                        Vielen Dank für die Rückmeldungen.


                        Viele Grüße
                        Florian
                        Guten Abend zusammen,

                        ich möchte in dieser Regel gerne noch eine zweite Steckdose mit einschalten.
                        Geht dies einfach über ein zweites sendCommand(xyz, ON), oder muss ich hier eine Gruppe anlegen, oder eine zweite Regel erstellen, oder ....

                        Vielen Dank für Eure Rückmeldungen.
                        Viele Grüße
                        Florian

                        Kommentar


                          #57
                          Du kannst einfach ein weiteres sendCommand einfügen.

                          Kommentar


                            #58
                            Vielen Dank für die Rückmeldung.
                            Ich werde mein Glück mal versuchen und dann berichten.
                            Viele Grüße
                            Florian

                            Kommentar


                              #59
                              Zitat von udo1toni Beitrag anzeigen
                              Du kannst einfach ein weiteres sendCommand einfügen.
                              Hallo,

                              hat bestens geklappt.....Weihnachten ist gerettet.

                              Vielen Dank für die schnelle Hilfe.
                              Viele Grüße
                              Florian

                              Kommentar

                              Lädt...
                              X