Notify mit Temperaturabfrage (Weather) funktioniert nicht.

Begonnen von AK-868, 23 Juli 2014, 14:02:51

Vorheriges Thema - Nächstes Thema

AK-868

Hallo zusammen,
ich kann mich auf den Kopf stellen aber der Code will einfach nicht. Zumindest Tagsüber.

Wenn es Hell ist und der wert fc1_high_c weniger als 19 ist oder es nach 12 Uhr ist, soll der JLhochfahren() ausführen.

So jetzt ist fc1_high_c    26    2014-07-23 11:30:59  Ergo 26 Grad
Und es ist 11:30Uhr.  Ergo vor 12

Er fährt die Jalousie hoch obwohl da steht über 19 Grad nicht hochfahren. Was hab ich falsch gemacht?

Vielen Dank schon mal für Hilfe.


pir_FlurEG:motion {
if (ReadingsVal("Hell", "state", "") eq "Ja" && (ReadingsVal("Wetter", "fc1_high_c", "0") le "19" || $hour ge "12"))
{
JLhochfahren();
fhem ("attr notify_motion_jl disable 1");
}
Log 3, "Jalousien wurden hochgefahren Motion";
}
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


Elektrolurch

Hallo,

so ganz verstehe ich nicht, was 'Du da willst, würde aber mal in Deiner Abrage-Logik um die Teile, die zusammengehören, noch ein Klammerpaar  setzen.
hell und temp oder größer 12 Uhr
Wenn die temp und größer 12 Uhr zusammengehören (||), dann muss da eine Klammer herum.

Tipp:
Um Deine Abfragen zu testen, kannst Du Sie natürlich auch einzeln oben in die fhem - Zeile eingeben: Nur } drum und ;; verwenden:

{ReadingsVal('hell','state',0);;}

Steht der Wert wirklich in 'state' oder in 'STATE',
dann geht natürlich auch Value('hell')

Gruß

Elektrolurch


configDB und Windows befreite Zone!

AK-868

Ich habs gefunden, klasse Fehler!

Vor dem zweiten ReadingsVal darf keine Klammer. :-/

Danke für die Hilfe!

Zur Erklärung

Der Bewegungssensor soll bei "motion" die Jalousien hochfahren und zwar wenn

Es Hell ist und fc_high_c kleiner gleich 19 oder es nach 12:00 Uhr ist.

Vor 12 steht die Sonne voll im Wohnzimmer ab 12 gar nicht mehr. Wenn es kälter als 19 Grad werden soll kann die Sonne rein. Zum wärmen. Den optimalen Wert muss ich aber noch ermitteln.
Das aber nur einmal am Tag deshalb das disable

So ist es richtig.

pir_FlurEG:motion {
if (ReadingsVal("Hell", "state", "") eq "Ja" && ReadingsVal("Wetter", "fc1_high_c", "0") le "19" || $hour ge "12")
{
JLhochfahren();
fhem ("attr notify_motion_jl disable 1");
}
Log 3, "Jalousien wurden hochgefahren Motion";
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder


AK-868

#3
Das oben ist auch falsch. Es geht einfach nicht.

Deshalb so. Das hab ich jetzt mehrfach getestet und scheint zu gehen.


pir_FlurEG:motion {
if ((ReadingsVal("Wetter", "fc1_high_c", "18") <= "19" || $hour >= "12") && ReadingsVal("Hell", "state", "") eq "Ja")
{
JLhochfahren() ;
fhem ("attr notify_motion_jl disable 1");
Log 3, "Jalousien wurden hochgefahren Motion";
}
}
Hardware FHEM:
Neue Fritzbox 7390 keine Labor von AVM
Konfigurationsadapter Lan
Funk-Schließerkontaktschnittstellen
Funk-Fenster/Türkontakt
Funk-Schaltaktoren UP ein und zweifach
Funk-Jalousieaktoren
Funk-Rauchmelder