@paul53
Stimmt. So geht’s natürlich. Danke dir!
So fragt das Skript natürlich 365 Tage im Jahr mehrere Male die Variable ab, obwohl die nur 1-2 Wochen scharf geschaltet ist. Für das System sicherlich nicht ansatzweise eine Herausforderung. Ich hatte aber irgendwie nach einer eleganten Variante gesucht.
Scheint aber der pragmatischste Weg zu sein. Baue ich so.
ich stehe gerade etwas auf dem Schlauch und wäre euch für einen Schupser in die Richtige Richtung dankbar.
Ausgangslage:
Ich habe eine Bewässerungsanlage mit a.) Regnern und b.) Wassersteckdosen installiert, welche ich über meine CCU in Kombination mit ioBroker steuere. Ich säe gelegentlich Rasen nach und möchte dann die Regner oder die Wassersteckdosen (angeschlossener klassischer Rasensprenger) mehrfach am Tag für mehrere Minuten einschalten.
Ziel:
Regner bzw. Wassersteckdosen sollen, falls die Variablen "Rasensaat Wassersteckdosen bewässern" bzw. "Rasensaat Bewässerungsanlage bewässern" wahr sind, 3 bzw. 4 mal täglich für 7 bzw. 10 Minuten eingeschaltet werden. Einschaltzeitpunkte sind fix, jedoch für Regner und Steckdosen unterschiedlich.
Problem:
Mir fehlt der richtige Gedanke, wie ich die Variablen UND die Startzeit der Beregnung simultan als Trigger nutzen kann.
Folgendes funktioniert zwar 1x bei Änderung der Variablen, dürfte doch aber nicht dauerhaft über mehrere Tage funktionieren, oder?
Das Problem ist eigentlich nicht sonderlich komplex; ich komme aber nicht auf die Lösung. Hat jemand einen schlauen Ansatz?
Das Skript schaltet zuverlässig und setzt auch die Variable "Alle Lampen aus" wieder zurück, nachdem alles durchgelaufen ist. Mein Problem ist, dass das Skript nicht nur alle Lichter schaltet, sondern auch die Steckdosen im jeweiligen Raum.
Das Skript scheint sämtliche Geräte mit .STATE-Kanälen im Wohnzimmer zu schalten, unabhängig von Functions=Light. Schränke ich hingegen auf "Esszimmer" ein, werden dort korrekt nur die Lichter ausgeschaltet. Steckdosen bleiben an.
Im ioBroker ist im Wohnzimmer soweit ich das sehen kann alles korrekt hinterlegt. Steckdosen sind unter Funktion korrekt angelegt und nicht dem Gewerk "Licht" zugeordnet. Dennoch werden sie über das Skript geschaltet.
@ciddi89 Ich habe bei mir die Homematic Wired 12/7 Aktoren und steuere darüber meine Taster / (nicht-Hue) Lampen an.
Ich habe das mal ein paar Tage beobachtet und mir immer den State der Badezimmerlampen als Pushnachricht schicken lassen, wenn der Taster gedrückt wurde. Der Taster an sich funktioniert. Das Problem ist, dass die Hues gelegentlich einen falschen State haben (obwohl an, werden sie als false im ioBroker gelistet). Ob das am Adapter oder an den Hues liegt, kann ich im Moment nicht sagen.
Vorerst habe ich mein Skript (s. o.) umgeschrieben und die "oder" Bedingung durch "und" ersetzt. Entsprechend schalten die Lampen nun immer aus und der Fehler könnte höchstens noch beim Einschalten auftreten. Das ist jetzt aber eine Woche lang nicht vorgekommen.
Die Hues zeigen beim Einschalten immer noch gelegentlich den falschen Status. Das ist jetzt durch die "und" Bedingung für das Ausschalten aber egal. Ich vermute, dass sie bis zum nächsten Einschalten (i. d. R. vergeht bis dahin etwas Zeit) wieder den korrekten Status haben. Zumindest hatte ich beim Einschalten noch keine Probleme.
@paul53
Ah... Stimmt. Dann hilft mir der Trigger natürlich hier nichts.
Ich versuche mal zu beobachten, ob .state und .on bei Auftreten des Fehlers auf true steht. Ggf. muss ich das Skript aufteilen oder das über eine Variable lösen, falls der Fehler im nicht aktualisierten .on / .state liegt.
besten Dank für deinen Input! .on wird bei Hue immer auf true gesetzt, sobald .level >0. Früher hatte ich das Skript ohne .on und ausschließlich mit .level für die Hues aufgesetzt (Falls .level <>0, dann...). Aufgrund des Fehlers habe ich das dann mal versuchsweise auf .on umgestellt. Das hat jedoch offensichtlich nichts gebracht.
Aber dein Punkt mit der UND Bedingung für den Ausschaltvorgang ist natürlich richtig. Das hatte ich so nicht im Blick. Es könnte sein, dass der .state nicht immer korrekt aktualisiert, da die Homematic Zentrale zu träge ist bzw. ioBroker und Homematic sich nicht schnell genug updaten. Polling ist im rega Adapter zwar auf 30s gestellt, aber vllt. verschluckt sich da irgendwas. Ich baue mal zum Test den rega Trigger für das Polling im Skript ein. Vielleicht hilft das.
ich habe bei mir u. a. Homematic und Philips Hue im ioBroker laufen und möchte eine simple Aufgabe lösen:
Der Homematic Taster im Bad soll bei kurzem Tastendruck 3 Hue Birnen (WC, Waschbecken und Dusche) und eine Homematic Lampe (Beleuchtung Duschablage) ein- bzw. ausschalten.
Leider funktioniert die Geschichte nur recht sporadisch. Geschätzt bei jedem fünften Ausschaltversuch gehen die Lampen nicht aus (Hue und Homematic). Einschalten klappt immer.
Zusatzinfo: Ich habe zusätzlich noch den langen Tastendruck belegt. Hierüber schalte ich die Beleuchtung der Duschablage ein/aus. Wenn die Lampen mal wieder nicht ausgehen sollten, kann ich hierüber dennoch immer die Duschablagenbeleuchtung ausschalten.
Ich mache vermutlich entweder einen Anfängerfehler beim Skript oder es stimmt etwas grundsätzlich mit meinem Setup nicht. Das Problem existiert nun seit knapp 1,5 Jahren über diverse Versionen der Adapter hinweg.
Habt ihr eine Idee, was die Ursache für diesen "zufällig" auftretenden Fehler ist?
@cherberg
Ich habe meinen Robolinho2000 gerade mal über Alexa eingebunden. Dort gibt es nur 4 Datenpunkte:
Über den powerState kann man den Robo zurück zur Station schicken bzw. starten. Ist ne nette Spielerei, hilft aber irgendwie nicht wirklich, finde ich.
Ich würde es gerne so aufsetzen, dass der Robo bei Regen (über Netatmo gemessen) gar nicht erst losfährt. Dafür müsste ich aber den hinterlegten Zeitplan unterbrechen. Das geht hier alles nicht. Könnte ich auch nur über die Stromversorgung lösen. Allerdings müsste ich dafür wissen, ob der Robo gerade unterwegs ist, da er sonst mangels Signal einfach in der Fläche stehen bleibt, wenn es anfängt zu regnen.
Gibt es noch eine separate Möglichkeit, den Sportsfreund ohne Innogy Zentrale einzubinden? Einen direkten Alko Adapter habe ich bisher nicht entdecken können.
@Asgothian
Tausend Danke für die schnelle Hilfe und einfache Umsetzung! Sorry für meine späte Rückmeldung. Ich bekomme anscheinend keine Benachrichtigungen, wenn auf meine Posts geantwortet wird.
@Fenriswolf hatte aber anscheinend recht. Als Target muss hm...DOOR.COMMAND ausgewählt werden. hm...DOOR.STATE ist nicht steuerbar und zeigt lediglich den Status an. Das Steuerkommando muss immer über DOOR.COMMAND kommen. Die Steuerungswerte in deinem Script passen aber.
Der Vollständigkeit halber hier nochmal deine Lösung, so wie sie bei mir dann funktioniert:
Vielen Dank nochmal! Jetzt komme ich endlich mit meiner Uhr in die Garage