Hi,
was meine ich damit?!
Also grundsätzlich habe ich abends und morgens zwecks Einbruchschutz bzw. "Guten Morgen" Definitionen, die z.b. einen Rollo morgens öffnen.
DEF
*07:00 set Rollo_WZ on
Nun ist aber beim morgendlichen Sonnenstand die Autobeschattung eigentlich schon früher drann und schaltet diese "EIN".
DEF
([Sensor_Ost:luminosity]>9000 && [Sensor_Ost:temperature]>[Temp_KZ:temperature]) (set Rollo_Ost Sonne) DOELSEIF ([Sensor_Ost:luminosity]<4000) (set Rollo_Ost On)
Dieser schaltet aber nur 1x. Danach irgendwie nicht mehr...
Wie kann ich diesen einstellen, das er periodisch prüft, ob er schalten muss oder nicht? Hoch geht er ja wieder, sobald die Helligkeit fällt. Nur nicht mehr runter, wenn er einmal auf unten ist.
Danke
Moin
Also grundsaetzlich sind Deine Informationen zu spaerlich!
Meine Glaskugel sagt mir aber, dass Rollo_WZ und Rollo_Ost wohl dummies sind, und dann Deine Rollaeden bedienen!? In der deutschen Hilfe zu DOIF sind so viele Beispiele und Erklaerungen drin, dass Du das "doalways" auch haettest finden koennen! Wenn der erste Code auch ein DOIF ist, da ist meine Glaskugel leider truebe, geht das eigentlich gar nicht ohne! Wenn es ein "at" ist, dann musst Du Dir mal Gedanken machen was Du wirklich willst! Man sollte einen Aktor moeglichst nur an einer Stelle schalten, da sonst genau solche Nebeneffekte auftreten!
Gruss Christoph
Wenn "Nachtposition" und "Beschattungsposition" unterschiedlich sind, könntest Du die Position als Bedingung mit einbauen.
Zitat von: pc1246 am 05 Juli 2017, 08:37:15
Moin
Also grundsaetzlich sind Deine Informationen zu spaerlich!
Sorry, mein Fehler. Trotzdem, danke für deine Hilfe.
Zitat von: pc1246 am 05 Juli 2017, 08:37:15
Meine Glaskugel sagt mir aber, dass Rollo_WZ und Rollo_Ost wohl dummies sind, und dann Deine Rollaeden bedienen!?
50 Punkte. Rollo_WZ ist der Rollo im Wohnzimmer, also der Aktor. Rollo_Ost sind alle Rollos auf der Ostseite, aber richtig, ein Dummy. Und das ganze wird geschaltet u.a. über ein DOIF names Autobeschattung_Ost.
Zitat von: pc1246 am 05 Juli 2017, 08:37:15
In der deutschen Hilfe zu DOIF sind so viele Beispiele und Erklaerungen drin, dass Du das "doalways" auch haettest finden koennen! Wenn der erste Code auch ein DOIF ist, da ist meine Glaskugel leider truebe, geht das eigentlich gar nicht ohne! Wenn es ein "at" ist, dann musst Du Dir mal Gedanken machen was Du wirklich willst!
Zum Glück ist es ein DOIF und somit habe ich nun einfach das du Always gesetzt. Vielen Dank. Das steht da schon, nur ist manchmal ein einzelner Zweig zu finden im Wald ein schier endloses Unterfangen; für reine Nutzer. Deshalb danke ich dir vielmals, das du mir den richtigen Weg gezeigt hast.
Zitat von: pc1246 am 05 Juli 2017, 08:37:15
Man sollte einen Aktor moeglichst nur an einer Stelle schalten, da sonst genau solche Nebeneffekte auftreten!
Gruss Christoph
Naja, das ist wohl auch ein typischer Anfangsfehler.... Der Rollo_WZ sieht bei mir z.b. folgendermaßen aus.
Probably associated with
FileLog_Rollo_WZ active FileLog
Rollo_Ost_off active notify
Rollo_Ost_on 2017-07-06 06:52:52 notify
Rollo_Ost_sonne 2017-07-06 07:59:37 notify
Rollo_WZ_morgens Next: 07:00:00 at
Rollos_off active notify
Rollos_on active notify
Rollos_sonne Schatten notify
Zitat von: Hollo am 05 Juli 2017, 12:49:57
Wenn "Nachtposition" und "Beschattungsposition" unterschiedlich sind, könntest Du die Position als Bedingung mit einbauen.
Grundsätzlich wäre wahrscheinlich ein DOIF besser, in etwa:
Mache den Rollo zu, außer von 7-22 Uhr, da mache ihn auf & setze ihn auf Sonne, wenn zwischen 7-22 Uhr die Helligkeit beim Sensor x über y und gleichzeitig die Temperatur bei Sensor 1 über der Temperatur bei Sensor 2 ist.
Meine Empfehlung wäre eine structure zu machen.
Rollo_Ost wäre dann eine structure. Würde erstmal nicht die Lösung für Dein Problem aber macht das Leben im laufe Deiner FHEM Installation einfacher bilde ich mir ein.
Zitat von: morph am 06 Juli 2017, 08:06:48
...Grundsätzlich wäre wahrscheinlich ein DOIF besser, in etwa:
Mache den Rollo zu, außer von 7-22 Uhr, da mache ihn auf & setze ihn auf Sonne, wenn zwischen 7-22 Uhr die Helligkeit beim Sensor x über y und gleichzeitig die Temperatur bei Sensor 1 über der Temperatur bei Sensor 2 ist.
Wenn Du schon DOIF nutzt vielleicht.
Ich habe verschiedene "Stellen", die sich auf das Rollo auswirken, daher arbeite ich mit Positionen als Attribut.
So kann ich z.B. auch definieren, was passiert, wenn später das Fenster geschlossen wird.
DOIF mit Postionsabfrage ist die beste Lösung. Die Autobeschattung z.B. nur ausführen wenn der Rolladen offen ist.
Solange der unter x% ist wird die Autobeschattung also nicht aktiv. Hier mal mein DOIF als Beispiel:
DOIF ([Heizungventil:pct] == 0 && [Rolladen:pct] > 90 && [myTwilight:twilight] > 90 && [Raumtempertaur:measured-temp] > 20 && [Raumtemperatur:measured-temp] < [Aussentemperatur_Sued:temperature] && [Aussentemperatur_Sued:temperature]-[Aussentemperatur_Nord:temperature] > 10 ) (set Rolladen pct 50)
DOELSEIF ( [Rolladen:pct] < 51 && [myTwilight:twilight] > 60 && [Aussentemperatur_Sued:temperature]-[Aussentemperatur_Nord:temperature] < 5 ) (set Rolladen pct 100)
Ok, also ein gestriges gesetztes do always war auf den ersten Blick super, am Abend dann aber die Ernüchterung, natürlich geht er da dann auch wieder hoch :-)
Zitat von: CoolTux am 06 Juli 2017, 08:44:00
Meine Empfehlung wäre eine structure zu machen.
Rollo_Ost wäre dann eine structure. Würde erstmal nicht die Lösung für Dein Problem aber macht das Leben im laufe Deiner FHEM Installation einfacher bilde ich mir ein.
Ok, notiere ich mir für meine 2.0 Installation :-) Nun ist die Installation so und ein kompletter Umbau wäre Zeitaufwendig bei im Moment über 2000 Zeilen Fhem config.
Zitat von: Hollo am 06 Juli 2017, 09:16:01
Wenn Du schon DOIF nutzt vielleicht.
Ich habe verschiedene "Stellen", die sich auf das Rollo auswirken, daher arbeite ich mit Positionen als Attribut.
So kann ich z.B. auch definieren, was passiert, wenn später das Fenster geschlossen wird.
Zitat von: thgorjup am 06 Juli 2017, 18:38:41
DOIF mit Postionsabfrage ist die beste Lösung. Die Autobeschattung z.B. nur ausführen wenn der Rolladen offen ist.
Solange der unter x% ist wird die Autobeschattung also nicht aktiv. Hier mal mein DOIF als Beispiel:
DOIF ([Heizungventil:pct] == 0 && [Rolladen:pct] > 90 && [myTwilight:twilight] > 90 && [Raumtempertaur:measured-temp] > 20 && [Raumtemperatur:measured-temp] < [Aussentemperatur_Sued:temperature] && [Aussentemperatur_Sued:temperature]-[Aussentemperatur_Nord:temperature] > 10 ) (set Rolladen pct 50)
DOELSEIF ( [Rolladen:pct] < 51 && [myTwilight:twilight] > 60 && [Aussentemperatur_Sued:temperature]-[Aussentemperatur_Nord:temperature] < 5 ) (set Rolladen pct 100)
Ihr wollt beide auf das gleiche Hinaus, sagt mir mein kleiner Verstand?
Wobei, dann reicht es doch eigentlich bei mir, dem DOIF noch eine & Bedingung zu geben?
([Sensor_Ost:luminosity]>9000 && [Rollo_WZ] > 41 && [Sensor_Ost:temperature]>[Temp_KZ:temperature]) (set Rollo_Ost Sonne) DOELSEIF ([Sensor_Ost:luminosity]<4000) (set Rollo_Ost On)
vielleicht auch einfach auf eine andere Variante wechseln, z.B. https://forum.fhem.de/index.php/topic,73964.0.html ?
Dann muss man sich selber weniger Gedanken um die Logiken im Hintergrund machen.
Hi,
das hatte ich auch schon gelesen. Ich denk, das wird die Version 1.5.
Ich hoffe, das der umgewandelte Code ein schnellerer Weg ist, wenn sicherlich nicht der endgültige.
Zitat von: morph am 07 Juli 2017, 09:58:52
Ihr wollt beide auf das gleiche Hinaus, sagt mir mein kleiner Verstand?
Wobei, dann reicht es doch eigentlich bei mir, dem DOIF noch eine & Bedingung zu geben?
Moin
Naja, das koennte sein, dass das passt, da wir ja gar nicht das Ganze sehen! Letztendlich wirst du immer wieder mit Seiteneffekten kaempfen, solange Du mehrere Module an einem Aktor agieren laesst! Stell Dir vor Du haettest zwei echte Schalter fuer Dein Rollo, und zwei Personen wuerden diese Schalter bedienen, ohne das Sie das Rollo sehen. Das geht immer irgendwie schief. Und jede Bedingung die Du auf der einen Seite einbaust, musst Du auf der anderen Seite irgendwann nachziehen.
Noch ein kleiner Tipp, zur Not gibt es auch noch das repeatsame.
Wenn man do always benutzt, kommt man ganz schnell zu dem Problem, dass Triggerereignisse, die man vorher nicht beachtet hat, auf einmal zum Tragen kommen, in dem Fall eventuell Dein Sonnensensor? Da hilft es dann die eigentliche Schaltbedingung zu finden und den Rest, den Du derzeit nicht hast, per "?" nur zur Abfrage zu nutzen!
Gruss Christoph