FHEM - Anwendungen > Beleuchtung

Aufbau einer Schaltung für Aussenbeleuchtung mit Dämmerung und Zufall (DOIF)

<< < (5/5)

Puschel74:
Moin,

von 10 Zeilen hast du eine verstanden - und genau das war die falsche.

Aber gut - wenn dich die eine Zeile so aufgeregt hat das du die restlichen 9 nichtmehr umsetzen kannst dann ist das eben so.
Und das hat nichts mit Perl zu tun sondern ist einfachstes FHEM.
Und mit diesen 9 Zeilen wollte ich eigentlich versuchen dir zu helfen.


--- Zitat ---Ich suche nach einer Lösung die ich ganz gerne bis Weihnachten erledigt hätte, weil ich da nicht zuhause bin...
--- Ende Zitat ---
Na wie lange brauchst du um ein notify über die Befehlszeile einzugeben die dir das Attribute disable bei ...
Aber das habe ich ja oben schon geschrieben - und du hast es nicht gelesen.
Ist gut, hast recht - ich bin dann mal raus hier und werde mich hüten dir nochmal versuchen zu helfen.

Grüße

moonsorrox:
Edit:// @Puschel74
habe mir dein Vorschlag durch den Kopf gehen lassen und es mit zwei notify gelöst..
Ich dachte aber es geht ohne diese beiden notifys, so das ich mit meinem Dummy den RT steuern kann, aber wohl nicht :-\


--- Code: ---define umschaltung_RT_Aus notify Zeitsteuerung:Dämmerung attr ZufallsTimerAussenlicht disable 1
attr umschaltung_RT_Aus room Automation

define umschaltung_RT_Ein notify Zeitsteuerung:Zufall attr ZufallsTimerAussenlicht disable 0
attr umschaltung_RT_Ein room Automation

--- Ende Code ---

So gelöst, ich werde dies dann auch im 1.Beitrag eintragen damit jeder es bei Bedarf nachstellen kann und dort den gesamten Code findet. Vorteil ich brauche die RT Geschichte in der 99_myUtils nicht  :D


--- Zitat von: Puschel74 am 04 Dezember 2014, 05:21:42 ---von 10 Zeilen hast du eine verstanden - und genau das war die falsche.

--- Ende Zitat ---
nicht ganz richtig, denn mir ging es nicht ums "disablen"
habe ich jetzt doch genutzt  :)

schau mal hier: da habe ich versucht mit meinen Worten jemand zu erklären wie ich es verstanden habe...
ist also alles nicht ganz so einfach und klar, nicht nur für mich  :-\

Und mir ging es hier um das "nicht" aktivieren des RT wenn ein Dummy einen bestimmten Zustand hat und das hat meiner bescheidenen Meinung nach nichts mit "disable" zutun...
denn das ist dies hier:

--- Code: ---sub isZufall           () { return(YesNo("Zufall"));}
--- Ende Code ---
und dies ist denke ich Perl, da geschweifte Klammern und in der 99_myUtils drin

dazu gehört noch dieses welches eben auch nicht funktioniert, weil ich es nicht genau weiß


--- Code: ---attr ZufallsTimerAussenlicht disableCond (!Value("TestZeitsteuerung" eq "Zufall"))
attr ZufallsTimerAussenlicht disableCond (ReadingsVal("TestZeitsteuerung", "state", "Zufall") eq "on" )
--- Ende Code ---

und nun darfst du mir gerne helfen wenn du eine Lösung für mich hast  ;)
und sauer sein bringt hier niemanden etwas, ich kann jedenfalls mit Kritik umgehen und wer einsteckt darf auch austeilen, OK.? ;)
Und nun ist gut  :D  *bauchstreichel*

Brockmann:

--- Zitat von: moonsorrox am 04 Dezember 2014, 12:50:39 ---habe mir dein Vorschlag durch den Kopf gehen lassen und es mit zwei notify gelöst..
Ich dachte aber es geht ohne diese beiden notifys, so das ich mit meinem Dummy den RT steuern kann, aber wohl nicht :-\

--- Ende Zitat ---

Selbstverständlich geht es ohne diese beiden Notifys, denn

1. Kannst Du praktisch jedes notify durch ein DOIF ersetzen
2. Kann Du Dein DOIF um praktisch beliebige Kondition-Aktion-Paare erweitern (zumindest wenn Du wie empfohlen auf DOELSE verzichtest).

Du könntest also das bestehende DOIF erweitern um

--- Code: ---DOELSEIF([Zeitsteuerung] eq "Dämmerung")(attr ZufallsTimerAussenlicht disable 1)
DOELSEIF([Zeitsteuerung] eq "Zufall")(attr ZufallsTimerAussenlicht disable 0)

--- Ende Code ---

wobei es so noch konsequenter wäre:

--- Code: ---DOELSEIF([Zeitsteuerung] ~= "Dämmerung|Aus")(attr ZufallsTimerAussenlicht disable 1)

--- Ende Code ---


--- Zitat von: moonsorrox am 04 Dezember 2014, 12:50:39 ---dazu gehört noch dieses welches eben auch nicht funktioniert, weil ich es nicht genau weiß

--- Code: ---attr ZufallsTimerAussenlicht disableCond (!Value("TestZeitsteuerung" eq "Zufall"))
attr ZufallsTimerAussenlicht disableCond (ReadingsVal("TestZeitsteuerung", "state", "Zufall") eq "on" )
--- Ende Code ---

--- Ende Zitat ---

Sorry, aber das sind doch nun ganz grundlegende Vergleichsfunktionen, die Du Dir hier nach dem Motto "Ich bastel mir die Welt, wie sie mir gefällt" zusammenschusterst. Da müsste man halt mal nachschauen, wie die Syntax genau sein muss, anstatt sich irgendwas zusammen zu reimen. Im Wiki und im Forum gibt es genügend Beispiele und die erste Zeile steht in der Doku von RandomTimer praktisch genauso als Beispiel drin.


--- Code: ---attr ZufallsTimerAussenlicht disableCond (Value("TestZeitsteuerung" ne "Zufall"))
attr ZufallsTimerAussenlicht disableCond (ReadingsVal("TestZeitsteuerung", "state", "") eq "Zufall" )
--- Ende Code ---
[/quote]

wobei letzteres sicherlich eine unsinnige disableCond wäre...

moonsorrox:
@Brockmann
ja super, vielen Dank für deine Geduld da gibt es eben doch noch Möglichkeiten  ;)

ich werde mal schauen was ich davon umsetze, da ich doch so meine Schwierigkeiten habe die DOIF Geschichte zu verstehen. Ich lese ja ständig im DOIF Thread mit weil es mich interessiert und schaue mir auch alle Beispielecodecs an, so grad jetzt diese Beleuchtung von Spartacus... aber ich denke es ist schon nicht einfach.. :-\
Ich weiß auch nicht wie ich da ran gehen sollte damit es mir klarer wird, versuche mich jetzt natürlich immer an den Beispielen zu orientieren um es evtl. für meine Belange einzusetzen (auch in der deutschen commandref).
Momentan bin ich erst einmal zufrieden, aber es kommen sicher neue Herausforderungen grad in Sachen DOIF  :)

da wollte ich noch was zu schreiben...

--- Zitat ---Da müsste man halt mal nachschauen, wie die Syntax genau sein muss, anstatt sich irgendwas zusammen zu reimen.
--- Ende Zitat ---
das habe ich aus dem Forum, nachdem ich die Suche gestartet hatte kamen einige Beispiele in denen es User probiert hatten, ich habe nur versucht es auf meine Bedingungen anzupassen, was kläglich scheiterte  :-\

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln