Hallo,
ich brauche mal Hilfe bei einem Thresholdversuch, vielleicht ist es auch das falsche Modul. Erstmal was ich erreichen möchte:
Ich möchte ein Fenster in einem Raum abhängig von der Innen und Außentemperatur öffnen oder schließen.
Konkretes Beispiel:
1. Steigt die Raumtemperatur über 21°C und ist die Außentemperatur unter der Innentemperatur, dann öffne das Fenster. (da es den Raum kühlt)
2. Steigt die Außentemperatur über 21°C und der Raum ist unter 21°C schließe das Fenster. (damit es nicht aufheizt)
3. Sinkt die Raumtemperatur unter 21°C und draußen ist es unter 21°C schließe das Fenster.
Jetzt brauche ich mal Gedankenhilfe damit ich nicht zu kompliziert oder zu einfach denke:
"Nur" mit einem Threshold dürfte das nicht klappen, da ich nicht die zwei Sensoren die ich definieren kann so einstellen kann wie ich es oben wünsche.
Also mache ich 2 Thresholds die bei über 21°C jeweils auf warm stellen und bei unter 21°C kalt.
Und dann 2 Notifys die jeweils wenn einer der Sensoren umschaltet schaut wie ist der andere Sensor und wie ist die Temperatur (per IF Anweisung)?!
Oder gibt es noch andere Möglichkeiten die ich gerade nicht sehe/weiß?! Ich will jetzt nicht das mir das einer Vorprogrammiert, mir geht es darum eine gute Lösung zu haben und ich habe schon oft gemerkt das es in FHEM sehr viele Möglichkeiten gibt und alle zu kennen nicht so einfach ist.
Danke für eure Denkanstöße.
strauch
Hallo,
der THRESHOLD Befehl kann mit einem AND eine weiter Bedingung enthalten - also z.B. einen Status. Wenn Du für die Außentemperatur eine Dummy machst, der on (kleiner 25) oder off (größer 25) enthält, reicht ein Befehl.
Schau mal in die Commandref - da stehen eine Menge Beispiele.
Gruß Christoph
Danke für den Hinweis da hab ich auch schon viel gelesen, aber es hat mich nicht so recht weiter gebracht. Aber du hast mich gerade auf eine neue Idee gebracht.
Ich mache ein Notify was einfach immer die Innen mit der Außentemperatur vergleicht und wärmer oder kälter (oder on und off oder was auch immer) in einen Dummy schreibt und den nehme ich als zweiten Sensor mit in den Threshold.
define notify_Innen_Aussentemperatur notify Aussensensor {if (ReadingsVal("Aussensensor","temperature",0) >= ReadingsVal("Zimmersensor","temperature",0)) {fhem("set dummy_Temperaturvergleich kaelter")} else {fhem("set dummy_Temperaturvergleich waermer")} }
Das notify sollte bei jeder Änderung der Aussentemperatur ausgeführt werden?!
define treshold_Fenster Zimmersensor:temperature AND dummy_Temperaturvergleich:state:kaelter dummy_Fenster|set @ auf|set @ zu|1
attr treshold_nz_Fenster desired 21
Hab die Syntax nicht kontrolliert, aber grob müsste das klappen.
Hallo,
ZitatDas notify sollte bei jeder Änderung der Aussentemperatur ausgeführt werden?!
Damit
define notify_Innen_Aussentemperatur notify Aussensensor {if
wird das notify JEDESMAL ausgeführt wenn irgendwas vom Sensor
Aussensensor gesendet wird.
Egal ob das die Temperatur oder sonstige Werte sind - du hast uns ja nicht verraten welcher Sensor das ist resp. welche Werte dieser übermittelt.
Zu THRESHOLD oder IF kann ich dir leider nichts sagen ausser das es mit THRESHOLD ohne Dummy gehen müsste - das ist aber nur eine Vermutung.
Grüße
Danke Puschel es ist ein S300HT, der sendet alle Nasenlang die Temperatur und Luftfeuchtigkeit. Ich werde das mal testen. Klingt als könnte das klappen und wenn notify wärmer feststellt, wechselt ja auch sofort auf Fenster zu. Jetzt brauch ich nur noch das Geld für ein Winmatic ;-).
Hallo,
so
define notify_Innen_Aussentemperatur notify Aussensensor:temperature.*
löst das notify nur noch aus wenn der S300TH Temperatur sendet.
An diesem dann noch ein
attr Aussensensor event-on-change-reading .*
und es wird nur noch ein Event ausgelöst wenn sich die Werte auch ändern.
Grüße
Das werde ich einbauen. Das reduziert die Last.
Super ich danke euch.
Hallo,
ZitatJetzt brauch ich nur noch das Geld für ein Winmatic
Wenn du den Fensterantrieb meinst dann warte noch ein bischen - ich hab andre versprochen ein paar Bilder zu machen (mit einem Metermaßstab neben dran).
Ich werde heute noch im HM-Bereich meinen Beitrag bearbeiten und ein paar Fotos einstellen zu dem Antrieb.
Der WAF ist unter aller Kanone - ich darf gerade mal einen in meinem Arbeitszimmer verbauen.
Meine Holde hat, nachdem sie den Antrieb gesehen hat, nur gemeint "Den will ich aber nicht vor meiner Nase sehen das klobige Teil".
Und das schlimme ist - sie hat noch nicht mal unrecht damit.
So, nu geh ich aber flott Bilder machen und dann einstellen.
Grüße
Zitat von: Puschel74 am 10 März 2014, 17:31:59
Zu THRESHOLD oder IF kann ich dir leider nichts sagen ausser das es mit THRESHOLD ohne Dummy gehen müsste - das ist aber nur eine Vermutung.
Das stimmt! Und sogar ohne notify!
Als erste Denksportaufgabe, solltest du aus deinen drei Bedingung zwei machen. Und dann kann ich dir verraten wie es als Zweizeiler geht. ;)
Gruß
Damian
Also nur mit einem Threshold und ich war schon froh es mit einem dummy und einem notify geschafft zu haben. Gut das ist mal eine Herausforderung ich werd mich wenn mich neuen Tochter lässt heute Abend mal ransetzten.
Gesendet von meinem Nexus 4 mit Tapatalk
Im Prinzip hab ich es ja schon auf 2 Bedinungen reduziert.
unter 21°C Fenster zu
über 21°C Fenster auf wenn es draußen kälter ist als drinnen anderfalls fenster zu.
ich werde dann noch mal in die commandref einsteigen.
Also ich komme nicht drauf. Ich komme zwar auf Ideen wie ich es bei 21°C schalten könnte, nur wenn der "breakeven" irgendwo bei 25°C (also innen 25.5°C und außen 24,5°C) hab ich keine Ahnung wie ich das dann triggern soll. Bin für jeden weiteren Tipp dankbar.
Auch die Suche hat mich nicht wirklich weiter gebracht, da gibts zwar auch Dinge mit Temperaturunterscheiden, aber die von einem Sensor erfasst werden. Oder kann ich für die desired Temp auch eine if Bedingung einsetzten?
Hallo,
wie gesagt nutze ich THRESHOLD nicht und kann dir daher nicht wirklich weiter helfen.
ZitatOder kann ich für die desired Temp auch eine if Bedingung einsetzten?
In FHEM kannst du alles und so gut wie jeden per if abfragen ;)
Und auch per IF 8)
Grüsse
Zitat von: Puschel74 am 11 März 2014, 10:52:12
Hallo,
wie gesagt nutze ich THRESHOLD nicht und kann dir daher nicht wirklich weiter helfen.
Ich meinte auch eher Damian als Modulentwickler :-). Ich mach erst mal was anderes, manchmal ist ja etwas Abstand ganz gut.
Zitat von: strauch am 11 März 2014, 11:11:37
Ich meinte auch eher Damian als Modulentwickler :-). Ich mach erst mal was anderes, manchmal ist ja etwas Abstand ganz gut.
Dann will ich dich nicht mehr länger auf die Folter spannen:
define TH_Kalt THRESHOLD Zimmersensor:temperature:0:21
define TH_Fenster THRESHOLD Zimmersensor:temperature:0:Ausssensensor:temperature AND TH_Kalt:state:off dummy_Fenster|set @ auf|set @ zu|1
Das ist alles - probiere mal aus.
Gruß
Damian
Das ist mal genial einfach.....
Ich kann mit dem einen Threshold den State vom anderen abfragen und den Außensensor hast du einfach als Hysterese eingebunden, verstehe ich das richtig. Ich muss mich damit mal genauer beschäftigen. Vielen Dank auf jedenfall, sowohl für den Tipp als auch für das Modul. Das bringt mich bei einem anderen Threshold auch noch auf eine Idee. Mal schauen ob ich das auf die Kette kriege. Sonst frag ich noch mal ;-).
Zitat von: strauch am 11 März 2014, 16:13:28
... den Außensensor hast du einfach als Hysterese eingebunden, verstehe ich das richtig.
Nein. Bei:
Zimmersensor:temperature:0:Ausssensensor:temperature
Ist die Hysterese 0. Der Aussensensor fungiert hier als dynamische Temperaturvorgabe, anstatt eines festen Wertes, wie die Zahl 21 beim ersten Threshold-Modul.
Gruß
Damian
Ah OK. Danke. Ist immer toll zu sehen wenn es so einfach geht.
Ich hab andere Beispiele gesehen da hast du das auch schon so gemacht.... steht ja auch so in der commandref drin, ich hab es beim lesen nicht gerafft:
define TH_water_circulation THRESHOLD return_w:temperature:4:water_storage:temperature:-5 circualtion_pump
dann pack ich mal ein gelöst an diesen Thread.