Smarte Schlafzimmerbeleuchtung Ideen und Tipps Zur Umsetzung gesucht

  • das hier? Timer_TVstate ? das schaltet sich als timer ein wenn du den tv aus machst? .... und in dieser zeit soll dein bewegungsmelder ggf nicht nachtlicht sondern taglicht schalten?

    Genau !
    Wenn das Netzwerk item von on auf off geht, schaltet es ein expire item für 30 min auf on.

    Wenn ich heute Abend Zeit habe, packe ich meine items und rules mal übersichtlich zusammen. Vielleicht hilft meine penetrante Fragerei dann irgendjemand anderem.

  • dann musst du die für nachts die rule wiederholen. 1x mit Timer_TVstate == OFF (normaler status) und 1x ON (wenn du in der nachtzeit tv ausmachst).

    zeile 8 und 17 ist das normale taglicht, zeile 11 und 20 das normale nachtlicht (zusätzlich mit abfrage ob timer aus), zeile 14 und 23 ist taglicht an obwohl es nachts ist weil der timer läuft.

  • SUPER! Danke!

    Ich muss das dann zuhause noch einmal nachsehen.
    Ich bin aber der Meinung, daß Timer_TVstate.state seinen Zustand ändert, wenn Kodi aus dem Netz geht und dann nach 30 minuten wieder zurück auf den Stand geht, als wäre Kodi noch online.
    Ob der jetzt von ON nach OFF wechselt oder umgekehrt, weiß ich jetzt nicht.
    Aber dann brauche ich doch nur einen Zustand prüfen?

  • Ich würde das ganze, der Übersichtlichkeit wegen, auch etwas auseinanderziehen.
    In Etwas so (ACHTUNG! Nicht einfach kopieren, ist schnell zusammenkopiert! Und ob die Texte zu den Zeiten passen...)

  • Ich würde das ganze, der Übersichtlichkeit wegen, auch etwas auseinanderziehen.
    In Etwas so (ACHTUNG! Nicht einfach kopieren, ist schnell zusammenkopiert! Und ob die Texte zu den Zeiten passen...)

    Hmmmm das hat auch Charme.

    Du definierst also alle Vergleiche als val (ich denke var ist ein Tippfehler) und dann kommen diese val-Werte (oder var?) dann in die if Abfrage.

    Könnte übersichtlicher sein.

  • oweit ich weiß, bedeutet val = value und ist unveränderlich (quasi eine Konstante).
    Während var = variable sich jederzeit im Code umdefinieren lässt.

    [bu]
    globale werte zu nutzen ist natürlich für die übersichtlichkeit super....aaaaber (jetzt ich wieder ^^)...tage und zeiten sind schon werte die dynamisch in einer rule recht nützlich sein können, bspw für schaltzeiten abends. da gibts ja viele szenarien (bei mir diverse lichtrules) bei denen dann auch noch interessiert ob nicht nur heute sondern auch morgen ein freier tag ist.
    wenn für alles werte global geschrieben wird, dann wirds auch schnell etwas umfangreicher und am ende ggf nicht mehr so übersichtlich.
    unterm strich natürlich ansichtssache wie es einem am besten gefällt [bt]

    Ich bin aber der Meinung, daß Timer_TVstate.state seinen Zustand ändert, wenn Kodi aus dem Netz geht und dann nach 30 minuten wieder zurück auf den Stand geht, als wäre Kodi noch online.
    Ob der jetzt von ON nach OFF wechselt oder umgekehrt, weiß ich jetzt nicht.
    Aber dann brauche ich doch nur einen Zustand prüfen?

    laut x beiträgen vorher steht in deinem expire item OFF drin. sprich er geht nach x minuten auf off.

  • globale werte zu nutzen ist natürlich für die übersichtlichkeit super....aaaaber

    Wieso global? Die sind innerhalb der Rule definiert. Woran denkst du denn, wo das ein Nachteil sein sollte?

    EDIT: Oder missverstehe ich Dich? Ich kann den Zusammenhang Deiner Aussage, zu dem, was du von mir zitiert hast, nämlich nicht erkennen.

  • wenn für alles werte global geschrieben wird, dann wirds auch schnell etwas umfangreicher und am ende ggf nicht mehr so übersichtlich.

    Ja, da geben ich dir Recht. Ich wollte mit meinem Posting auch nicht zum Ausdruck bringen, dass es IMMER und ÜBERALL sinnvoll ist, das so zu machen.
    Aber in diesem Fall finde ich es deutlich angenehmer zu lesen.

  • Bin gestern Abend leider nicht mehr zum Testen gekommen.
    Aber ein Problem habe ich doch noch gefunden.

    Kann es sein, daß die Mi Box (hängt per USB Ethernet Adapter im LAN) nicht pingbar ist? Jedenfalls habe ich sie über das Network Addon nicht eingebunden bekommen. Andere Fehler sind natürlich nicht auszuschliessen.

    Wenn dem so sein sollte, muss ich mir was anderes überlegen.

    WLAN und LAN gleichzeitig an der Box? Würde Kodi dann über Kabel laufen, wenn ich in er Mi Box WLAN wieder aktiviere?

    Oder ich muss das WLAN am TV an schalten und das benutzen.

  • Wieso global? Die sind innerhalb der Rule definiert. Woran denkst du denn, wo das ein Nachteil sein sollte?
    EDIT: Oder missverstehe ich Dich? Ich kann den Zusammenhang Deiner Aussage, zu dem, was du von mir zitiert hast, nämlich nicht erkennen.

    nein fehler lag bei mir. ich hab übersehen, dass unter den werten gar keine komplette rule ist sondern nur die if abfragen. daher hab ich natürlich gedacht, dass du die werte global gesetzt hast, also ausserhalb der rule.

    Kann es sein, daß die Mi Box (hängt per USB Ethernet Adapter im LAN) nicht pingbar ist? Jedenfalls habe ich sie über das Network Addon nicht eingebunden bekommen. Andere Fehler sind natürlich nicht auszuschliessen.


    der netzwerkstatus der box sollte definitv erkennbar sein. hier ein beispiel wie das aussehen kann:

    thing datei
    Thing network:pingdevice:wz_kodi "Netzwerk WZ Kodi" @ "Wohnzimmer" [ hostname="192.168.2.60", retry=1, timeout=5000, refreshInterval=60000 ]
    items datei
    Switch WZ_Netzwerk_Kodi "WZ Netzwerk Kodi" (Kodi_Clienten) {channel="network:pingdevice:wz_kodi:online"}

  • Ich habe früher, für die Erkennung ob Kodi läuft, keinen Ping auf das Gerät gemacht, sondern das Kodi Binding dafür benutzt.
    Dafür habe ich abgefragt, wenn das Thing online (bzw. offline) ging.

    Ist natürlich nur eine Lösung, wenn man ausschließlich Kodi benutzt. Da es an dessen Erreichbarkeit hängt.


  • thing datei
    Thing network:pingdevice:wz_kodi "Netzwerk WZ Kodi" @ "Wohnzimmer" [ hostname="192.168.2.60", retry=1, timeout=5000, refreshInterval=60000 ]
    items datei
    Switch WZ_Netzwerk_Kodi "WZ Netzwerk Kodi" (Kodi_Clienten) {channel="network:pingdevice:wz_kodi:online"}

    Ich Vollpfosten habe in der items Datei anstelle des things die IP eingetragen

  • Da bin ich wieder :)

    Im Großen und Ganzen läuft die Sache.
    Aber das Einschalten der Tagbeleuchtung nach TV offline am Abend will nicht so richtig.



    Ich sehe den Fehler natürlich nicht.
    Aber laut [definition='1','0']log[/definition] bekommen beide Timer items ein on


    Ich möchte erreichen, daß innerhalb von 30 min nachdem die MiBox offline geangen ist (TV aus) die Tagbeleuchtung angeschaltet wird, obwohl eigentlich von der Uhrzeit her die Nachtbeleuchtung angeschaltet wurde.

    Wenn das läuft, fehlt eigentlich nur noch der Urlaubs Schalter.
    Im Urlaub Licht wie am Wochenende / Feiertag.

  • Ich kann dir schon länger nicht mehr so richtig folgen. Ich müsste jetzt den Thread von Vorne neu lesen, um überhaupt zu wissen, was du wie genau erreichen möchtest.

    Beim groben überfliegen frage ich mich, was soll diese Rule bewirken?

    Wenn Timer_TVstate nach ON wechselt, schaltest du es ON? Wenn es nach OFF wechselt schaltest du es OFF?

  • du hast gestern um 9.22 die rule getriggert, der timer deiner box war auf ON und es war feiertag
    du hast am ende deiner rules diese drei abfragen die durch die uhrzeit und den feiertag relevant waren

    Code
    if ((TagebisFeiertag == 0 || heuteWochenende == true)  && (now.getHourOfDay() < 10 || now.getHourOfDay() > 21) && (Timer_TVstate.state == ON)) {
          Timer_abinsbett.sendCommand(ON)
          }
    if ((TagebisFeiertag == 0 || heuteWochenende == true)  && (now.getHourOfDay() < 10 || now.getHourOfDay() > 21) && (Timer_TVstate.state == OFF)) {
          Timer_orientierung.sendCommand(ON)
          }
    if ((TagebisFeiertag == 0 || heuteWochenende == true)  && (now.getHourOfDay() < 10 || now.getHourOfDay() > 21)) {
          Timer_orientierung.sendCommand(ON)
          }


    zeile 1 hat getriggert weil die uhrzeit beim auslösen kleiner als 10 (9.22 uhr) und der timer on war. abinsbett wurde ausgelöst
    zeile 4 hat nicht getriggert weil die nur mit timer off reagiert.
    zeile 7 hat getriggert weil du da das gleiche wie in zeile 4 machst, nur ohne timer abzufragen

    also wird beim auslösen der rule abinsbett sowie orientierung ausgelöst.

    zeile 4 und zeile 7 zusammen machen also keinen sinn, da sie beide das gleiche ausführen nur 1x mit und 1x ohne timer abzufragen

  • Ich würde, zumindest in der Entwicklungsphase, den Rules ein paar Logausgaben hinzufügen. Das erleichtert, meiner Erfahrung nach, das Finden von Bugs.

    Code
    logInfo("Name-Rule","Dies ist ein Logeintrag!")
    logInfo("Name-Rule","Dies ist ein Logeintrag mit übergebenen Werten. Wert 1 = '{}'; Wert 2 = '{}'; Wert 3 = '{}'", ItemWert1.state, ItemWert2.state, ItemWert3.state)
  • Ich kann dir schon länger nicht mehr so richtig folgen. Ich müsste jetzt den Thread von Vorne neu lesen, um überhaupt zu wissen, was du wie genau erreichen möchtest.

    Beim groben überfliegen frage ich mich, was soll diese Rule bewirken?

    Wenn Timer_TVstate nach ON wechselt, schaltest du es ON? Wenn es nach OFF wechselt schaltest du es OFF?

    das hab ich übersehen...macht natürlich gar keinen sinn. da sollte bestimmt der status der box abgefragt werden

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!