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

Begonnen von moonsorrox, 18 November 2014, 21:04:47

Vorheriges Thema - Nächstes Thema

moonsorrox

also mit diesem Code oben funktioniert alles was Dämmerung betrifft
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Brockmann

Hier hat gerade jemand eine Funktion zum Erzeugen einer "Zufallszeit" geschrieben, vielleicht für Dich eine Alternative zum Random Timer:
http://forum.fhem.de/index.php/topic,29438.msg222082.html#msg222082

moonsorrox

ja Super vielen Dank, dass schaue ich mir mal an. Wird ja die nächste Baustelle  ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Puschel74

Hallo,

wozu mischt du jetzt auch noch den Thread zu RT auf  ???
Nimm deinen Dummy (Zuhause,Weg,Zufall,Schiess_mich_tot) - setz drauf ein notify wo du bei Zuhause und Weg deine DOIF auf disable 0 setzt und dafür den RT auf disable 1 und
bei Zufall das DOIF auf disable 1 und dann den RT auf disable 0.

Achtung! Du kannst per notify oder at oder was auch immer auch Attribute eintragen/umtragen lassen what ever.
Du musst nicht ums verrecken versuchen RT und DOIF zu verheiraten.
Lass beide so wie sie funktionieren und schalt doch einfach nur das Attribut <Device> disable 0/1 um.
Wobei <Device> hier einmal für das/die DOIF und einmal für den RT steht.
Das sollte doch wohl klappen und machbar sein oder nicht?

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

moonsorrox

@Puschel74
Zitatwozu mischt du jetzt auch noch den Thread zu RT auf  ???
ich habe jetzt gar nicht so richtig Bock drauf zu antworten, weil es gibt echt Foren da wird einem geholfen... du blödelst nur rum...
Ich suche nach einer Lösung die ich ganz gerne bis Weihnachten erledigt hätte, weil ich da nicht zuhause bin...

Ganz einfache Antwort und das sollte selbst dir als Moderator klar sein, ich komme mit meinen Kenntnissen nicht weiter und benötige Hilfe von Leuten die etwas verstehen von Perl und deren Modulen, dass ist nicht mein Ding und wird hier aber verlangt und...
...lass es einfach und mische dich nicht ein, denn helfen kannst du sicher auch nicht weil du genau dieses nicht beherrscht, so wie ich und genau deshalb frage ich, weil ich nicht weiter komme...
So und alles nicht böse gemeint  ;), weil einfach nur Hilfe suchend und immer dankbar für Tipps, OK..?

..und wie du siehst meldet sich Dietmar und denkt über mein Frage zu dem RT nach.. und ich bin nicht der einzige der gerade deshalb Probleme hat und fragt, nur meines ist noch etwas komplexer weil DOIF, RT und alles zu verbinden doch etwas schwieriger ist... und warum, weil wir alle nicht Albert Einstein sind..!

OT
Ich beobachte dieses schon länger irgendwie hast du bestimmte Leute auf deinem Schirm, denen du gerne auf den Sack gehst... ignoriere einfach die Threads der Leute, so wie auch meinen und unterlasse deine Kritik, manch einer stellt sich sicher in deinen Augen "doof" an auch ich mit meinen "1000und" Threads weiß nicht alles und kann nicht alles und brauche Hilfe...
...und es gibt sicher Anfängerfragen wo du als Mod einschreiten musst und sagst man der sollte doch mal das Einsteiger.pdf lesen, da bin ich voll auf deiner Seite... aber ich frage nicht im "Einsteigerformat" sondern ich brauche echt Experten Rat... vllt. solltest du mal ein wenig darüber nachdenken, bevor du hier jemand verärgerst ;) :-\
Gute Nacht... ;)
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

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.

ZitatIch suche nach einer Lösung die ich ganz gerne bis Weihnachten erledigt hätte, weil ich da nicht zuhause bin...
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
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

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 :-\

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


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.
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:
sub isZufall           () { return(YesNo("Zufall"));}
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ß

attr ZufallsTimerAussenlicht disableCond (!Value("TestZeitsteuerung" eq "Zufall"))
attr ZufallsTimerAussenlicht disableCond (ReadingsVal("TestZeitsteuerung", "state", "Zufall") eq "on" )


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*
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

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 :-\

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
DOELSEIF([Zeitsteuerung] eq "Dämmerung")(attr ZufallsTimerAussenlicht disable 1)
DOELSEIF([Zeitsteuerung] eq "Zufall")(attr ZufallsTimerAussenlicht disable 0)


wobei es so noch konsequenter wäre:
DOELSEIF([Zeitsteuerung] ~= "Dämmerung|Aus")(attr ZufallsTimerAussenlicht disable 1)


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ß
attr ZufallsTimerAussenlicht disableCond (!Value("TestZeitsteuerung" eq "Zufall"))
attr ZufallsTimerAussenlicht disableCond (ReadingsVal("TestZeitsteuerung", "state", "Zufall") eq "on" )


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.

attr ZufallsTimerAussenlicht disableCond (Value("TestZeitsteuerung" ne "Zufall"))
attr ZufallsTimerAussenlicht disableCond (ReadingsVal("TestZeitsteuerung", "state", "") eq "Zufall" )

[/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...
ZitatDa müsste man halt mal nachschauen, wie die Syntax genau sein muss, anstatt sich irgendwas zusammen zu reimen.
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  :-\
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM