Hallo ich habe einen kleinen Hänger. Nein notify macht nicht das was ich will.
Ich will das mein notify erst dann den Dummy ändert wenn ich die Temperatur erreicht habe und wenn sie darüber hinaus geht wieder nichts macht.
GPIO4_DS1820_0008030cb914.* { if(ReadingsVal("GPIO4_DS1820_0008030cb914","temperature","40") < 50) { fhem("set HeizungDummy ok") } else { fhem("set HeizungDummy zukalt") }}
HeizungDummy:zukalt { fhem("set teleBot message Achtung, Bitte Nachheizen: ".ReadingsVal("GPIO4_DS1820_0008030cb914","temperature","")."°C!") }
oder soll ich das lieber in 99_myUtils.pm einbauen?
Danke
Zitat von: Wuffi_steel am 13 Januar 2017, 08:58:18
Hallo ich habe einen kleinen Hänger. Nein notify macht nicht das was ich will.
Ich will das mein notify erst dann den Dummy ändert wenn ich die Temperatur erreicht habe und wenn sie darüber hinaus geht wieder nichts macht.
GPIO4_DS1820_0008030cb914.* { if(ReadingsVal("GPIO4_DS1820_0008030cb914","temperature","40") < 50) { fhem("set HeizungDummy ok") } else { fhem("set HeizungDummy zukalt") }}
HeizungDummy:zukalt { fhem("set teleBot message Achtung, Bitte Nachheizen: ".ReadingsVal("GPIO4_DS1820_0008030cb914","temperature","")."°C!") }
oder soll ich das lieber in 99_myUtils.pm einbauen?
Danke
Mach das doch ohne dummy über ein userReadings:
attr GPIO4_DS1820_0008030cb914 userReadings tempcheck:temperature.* {ReadingsVal($NAME,"temperature","40")<50?"ok":"zukalt"}
define n_tempcheck GPIO4_DS1820_0008030cb914:tempcheck:zukalt.* { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsVal($NAME,"temperature","")."°C!" }
Aber müsste die Temperatur nicht größer sein als (>) 50 um ok zu sein?
Gruß
Dan
ZitatAber müsste die Temperatur nicht größer sein als (>) 50 um ok zu sein?
Ja schon aber wenn ich 90Grad habe muss ich ja nicht nachheizen.
Soll ja nur ne erinnerung sein bevor das feuer ausgeht.
Danke Hab ich mal eingebaut versuche ich heute abend mal. ;)
Zitatattr GPIO4_DS1820_0008030cb914 userReadings tempcheck:temperature.* {ReadingsVal($NAME,"temperature","40")<50?"ok":"zukalt"}
attr GPIO4_DS1820_0008030cb914 userReadings tempcheck:temperature.* {ReadingsVal($NAME,"temperature","40")>50?"ok":"zukalt"}
Triggert er immer auch wenn ich aktuell bei 22Grad bin.
Sollte aber erst bei 40grad anfangen.
Zitat von: Wuffi_steel am 13 Januar 2017, 11:15:41
attr GPIO4_DS1820_0008030cb914 userReadings tempcheck:temperature.* {ReadingsVal($NAME,"temperature","40")>50?"ok":"zukalt"}
Triggert er immer auch wenn ich aktuell bei 22Grad bin.
Sollte aber erst bei 40grad anfangen.
Sorry, mein Fehler.
Wenn man größer oder kleiner vergleichen will, sollte man auch mit Zahlen arbeiten!
attr GPIO4_DS1820_0008030cb914 userReadings tempcheck:temperature.* {ReadingsNum($NAME,"temperature",40)>50?"ok":"zukalt"}
Gruß
Dan
Danke für die Hilfe
Aber ich bekomme das nicht zum laufen. :(
tempcheck:temperature.* {ReadingsNum($NAME,"temperature",40)>50?"ok":"zukalt"}
GPIO4_DS1820_0008030cb914 temperature: 21.25
GPIO4_DS1820_0008030cb914 tempcheck: zukalt
tempcheck:temperature.* {ReadingsNum($NAME,"temperature",40)<50?"ok":"zukalt"}
GPIO4_DS1820_0008030cb914 temperature: 21.25
GPIO4_DS1820_0008030cb914 tempcheck: ok
Soll aber bei 21Grad ihm egal sein ob es zu warm oder zu kalt ist.
Und erst regieren wenn die temeratur über 40Grad ansteigt,
Und über 50Grad ihm wieder egal sein.
Zitat von: Wuffi_steel am 13 Januar 2017, 12:38:36
Danke für die Hilfe
Aber ich bekomme das nicht zum laufen. :(
tempcheck:temperature.* {ReadingsNum($NAME,"temperature",40)>50?"ok":"zukalt"}
GPIO4_DS1820_0008030cb914 temperature: 21.25
GPIO4_DS1820_0008030cb914 tempcheck: zukalt
tempcheck:temperature.* {ReadingsNum($NAME,"temperature",40)<50?"ok":"zukalt"}
GPIO4_DS1820_0008030cb914 temperature: 21.25
GPIO4_DS1820_0008030cb914 tempcheck: ok
Soll aber bei 21Grad ihm egal sein ob es zu warm oder zu kalt ist.
Und erst regieren wenn die temeratur über 40Grad ansteigt,
Und über 50Grad ihm wieder egal sein.
Du schreibst in Rätseln!
Was heißt "soll ihm egal sein"?
Wie viel Zustände brauchst Du nun? Das sieht mir nach 3 Zuständen aus (ok,zukalt,zuwarm).
Gruß
Dan
Sorry
Ich wenn ich nicht Heize hat der Ofen von 20-30 Grad Raumtemperatur. Und der wert ist dann ok.
Wenn ich jedoch Heize Steigt die Hitze bis ca 90-100 Grad und fällt dann wieder ab.
Dann Soll er mich erinnern das bei ca 50 Grad, ich Brennholz nachlegen muss.
Wenn ich dann den Offen ausgehen lass sinkt die Temperatur wieder unter 40 Grad, das Heißt ich müsste ihn neu anfeuern oder ich lasse ihn auskühlen.
Unterm strich soll nur eine Warnung raus wen die Temperatur zwischen ca. 40 und 50 Grad Liegt.
Der letzte Satz hätte gereicht! ;)
attr GPIO4_DS1820_0008030cb914 userReadings tempcheck:temperature.* {ReadingsNum($NAME,"temperature",40)>=40 && ReadingsNum($NAME,"temperature",40)<=50?"warnung":"ok"}
define n_tempcheck GPIO4_DS1820_0008030cb914:tempcheck:warnung.* { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsNum($NAME,"temperature",10)."°C!" }
Gruß
Dan
Ich klinke mich mal ein, da ich mit ReadingsVal diese Woche auch so meine Probleme hatte und nun die Lösung über Attribute sehe....
Dein Gedanke das ohne Dummy zu machen kam mir auch. Aber über Attribute, dass kannte ich noch nicht. Ich habe ein Notfiy, welches um eine gewisse Uhrzeit eine Nachricht per Telebot schickt. Das funktioniert auch zuverlässig.
Jetzt überlege ich, wie ich dieses Notify in einem gewissen Zeitraum von 6:30 bis 7:30 alle 5 Minuten generieren kann, das ganze... als Ticker-Text auf meinen gerade verwendeten Bildschirm oder meine Squeezebox.
Dieses sieht so aus
Zitat*06:10:00 {if(($wday == 1) ||($wday == 2) || ($wday == 3) || ($wday == 4)|| ($wday == 5)) {my $Dur=ReadingsVal(" Verkehr.blabla", "duration_in_traffic_hr", "25");{fhem("set teleBot msg die Fahrzeit zur Arbeit dauert $Dur Minuten") } }}
@DeeSPe
Danke Klappt wunderbar.
Nur Mein Fhem logt das mehrmals, also bekomme ich Spam Nachrichten :)
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 temperature: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 temperature: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 T: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 T: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
Soll ich da mit verbose oder disabledForIntervals arbeiten?
Danke
Zitat von: Wuffi_steel am 10 Februar 2017, 17:21:19
@DeeSPe
Danke Klappt wunderbar.
Nur Mein Fhem logt das mehrmals, also bekomme ich Spam Nachrichten :)
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 temperature: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 temperature: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 T: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 T: 61.625
2017-02-10 17:12:27 dummy GPIO4_DS1820_0008030cb914 tempcheck: ok
Soll ich da mit verbose oder disabledForIntervals arbeiten?
Danke
Kannst Du gerne probieren, wird aber nichts bringen. 8)
Einfach "event-on-change-reading" entsprechend setzen. ;)
Gruß
Dan
ZitatEinfach "event-on-change-reading" entsprechend setzen. ;)
Habe ich nach dem Post eh gleich so gemacht :o
Kann es sein das mein Notify nicht mehr triggert?
Durch Update oder ??
GPIO4_DS1820_0008030cb914:tempcheck:warnung.* { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsNum($NAME,"temperature",10)."°C!" }
Zitat von: Wuffi_steel am 11 Februar 2017, 10:44:53
Kann es sein das mein Notify nicht mehr triggert?
Das ist ein rhetorische Frage oder?
Das kann nur Du selbst beantworten!
Gruß
Dan
Zitat von: DeeSPe am 11 Februar 2017, 11:25:06
Das ist ein rhetorische Frage oder?
Das kann nur Du selbst beantworten!
Gruß
Dan
Antwort: Mein Notify triggert nicht mehr :)
Und wie soll Dir ohne weitere Informationen jetzt jemand helfen??
Gruß
Dan
Ich weiß nicht ob das von einen Update kommt oder mein Fehler ist.
Hatte bisher immer dein Notify
GPIO4_DS1820_0008030cb914:tempcheck:warnung.* { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsNum($NAME,"temperature",10)."°C!" }
Im log steht
2017-02-11 15:53:38 dummy GPIO4_DS1820_0008030cb914 tempcheck: warnung
Aber ich bekomme keine Nachricht.
Wenn ich das notify per Hand ansteuere funktioniert es. Zb.:
test:on.* { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsNum($NAME,"temperature",10)."°C!" }
Meine versuche sind bisher wirkungslos:
GPIO4_DS1820_0008030cb914:.* { if (Value("tempcheck") eq "warnung") { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsNum($NAME,"temperature",10)."°C!" } }
Habe es so gelöst.
GPIO4_DS1820_0008030cb914:tempcheck:.* { if(ReadingsVal("GPIO4_DS1820_0008030cb914","tempcheck","") eq "warnung") { fhem "set teleBot message Achtung, Bitte Nachheizen: ".ReadingsNum($NAME,"temperature",10)."°C!" } }
Kann ich das so lassen?
Danke
Zitat von: Wuffi_steel am 11 Februar 2017, 17:13:45
Kann ich das so lassen?
Danke
Klar, wenn es funktioniert!
Gruß
Dan