Einen Dummy über einen Grenzwert schalten

Begonnen von Stargazer, 08 August 2016, 15:33:13

Vorheriges Thema - Nächstes Thema

DeeSPe

Zitat von: Stargazer am 10 August 2016, 15:22:46
Hi Dan,

ich hatte deinen Code eingefügt und auf einmal funktionierte die Schaltung. Komischerweise.
Setze ich die Windgeschwindigkeit per setreading, springt der dummy sofort an. Ändere ich den Grenzwert in der Definition, so schaltet er auch was er soll.

Nun ist nur noch das Problem, dass er mir das Notify nicht selbständig zu aktualisieren scheint. Die Wetterdaten kommen derzeit alle 10 Sekunden frisch rein. Ist das wohl zu schnell ? Bei der Windanlage geht es mit 300 Sekunden Tip-Top... .

Viele Grüße

André

"zu schnell" gibt es eigentlich nicht. Schon gar nicht bei 10 Sekunden.

Nun ist nur noch das Problem, dass er mir das Notify nicht selbständig zu aktualisieren scheint.

Was meinst du konkret damit?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi Dan,

wenn ich das Fenster mit Notify offen lasse, liest er das reading nicht neu ein. Dann müsste der Zeitstempel ja rot werden. Das tut er nicht. Erst wenn ich etwas ändere, dann steht da der aktuelle Stempel. Auch der Windwert ändert sich dadurch nicht. Irgendwie komisch. Bei der Windanlage geht es ja.

VG

André

DeeSPe

Zitat von: Stargazer am 10 August 2016, 15:56:37
Hi Dan,

wenn ich das Fenster mit Notify offen lasse, liest er das reading nicht neu ein. Dann müsste der Zeitstempel ja rot werden. Das tut er nicht. Erst wenn ich etwas ändere, dann steht da der aktuelle Stempel. Auch der Windwert ändert sich dadurch nicht. Irgendwie komisch. Bei der Windanlage geht es ja.

VG

André

Fenster??? Wo kommt jetzt auf einmal ein Fenster her?
Irgendwie fehlt mir hier der Bezug zum Rest des Themas!

Wenn Du schon im Thema springst solltest Du auch wieder genau erklären was Du vor hast, wie Du bereits rangegangen bist usw...

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

#48
Hi Dan,

Sorry...ich meinte mit Fenster das Browserfenster.
Wenn ich da das Notify offen hab, aktualisiert es sich nicht.
Also da, wo die Intervalle und Readings stehen.

VG

André

DeeSPe

Verstehe ich immer noch nicht, sorry!

Was hat ein offenes Browserfenster damit zu tun ob in FHEM ein Event ausgelöst wird oder nicht?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi,

im Attachment habe ich mal das Browserfenster angehangen, was ich meinte.

Das "state" vom Notify ändert sich halt nicht mehr. Es ist bei 15.11 Uhr stehen geblieben, obwohl die Wetterstation weiter Daten sendet.
Das ist für mich noch nicht Verständlich, warum sich das nicht mehr aktualisiert.

VG

André

DeeSPe

Zitat von: Stargazer am 10 August 2016, 16:50:16
Hi,

im Attachment habe ich mal das Browserfenster angehangen, was ich meinte.

Das "state" vom Notify ändert sich halt nicht mehr. Es ist bei 15.11 Uhr stehen geblieben, obwohl die Wetterstation weiter Daten sendet.
Das ist für mich noch nicht Verständlich, warum sich das nicht mehr aktualisiert.

VG

André

Ach das meinst Du!!!!  8)
Da ist normal! Während Du in den Details des notify stehst siehst Du keine Veränderung des state. Dort scheint nicht per Longpoll aktualisiert zu werden (Zeitstempel wird nie rot).
Wenn Du im Browser einfach einen Reload der Seite machst, so sollte sich der Zeitstempel aber verändert haben wenn das notify wirklich getriggert wurde.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi,

der Wert der Windgeschwindigkeit ändert sich beim aktualisieren der Seite. Nur schaltet der Dummy nicht. Obwohl ich unter Grenzwert bin.

VG
André

DeeSPe

Hattest Du die Variable mal geloggt? Steht da wirklich das drin was Du erwartest?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

#54
Hi Dan,

im Event monitor steht dann folgendes:

2016.08.10 18:19:21 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit: 6.0
2016.08.10 18:19:21 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit: 6.0
2016-08-10 18:19:21 readingsGroup TFA_Station Wetterstation.Windgeschwindigkeit: 6.0
2016-08-10 18:19:21 HTTPMOD Wetterstation Windgeschwindigkeit: 6.0
2016-08-10 18:19:21 HTTPMOD Wetterstation Windgeschwindigkeit: 6.0


Mehr steht da leider nicht. Hätte mehr erwartet... .

Auf jeden Fall schaltet er den Dummy, wenn man es manuell triggert.

ABER: Wenn der setreading nach 60 Sekunden wieder auf den normalen gemessenen Wert wechselt, bleibt der Dummy auf "on".

VG und besten Dank

André

DeeSPe

#55
Was hast Du mehr erwartet?
Es ging doch genau darum an den einzelnen Wert im Reading zu kommen und zu sehen ob wirklich , durch . ersetzt wird.

Poste bitte nochmal Dein komplettes notify, so wie es jetzt angelegt ist.

Gruß
Dan

EDIT: Stimmt denn die 6.0 mit dem über setreading gesetzen Wert überein? Ich hoffe Du hast bei setreading 6,0 angegeben.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi,

okay....jetzt mal mit setreading 6,0. Das ergab folgendes:

2016.08.10 19:16:46 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit: 6,0
2016.08.10 19:16:46 1 : PERL WARNING: Argument "6,0" isn't numeric in numeric gt (>) at (eval 1775) line 1.
2016.08.10 19:16:46 3 : eval: my $TYPE='HTTPMOD';my $EVTPART1='6,0';my $EVTPART0='Windgeschwindigkeit:';my $NAME='Wetterstation';my $SELF='Sturmwarnung_Test';my $EVENT='Windgeschwindigkeit: 6,0';{Log3 undef,3,"Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit: $EVTPART1"; if($EVTPART1 > 4.0){fhem("set Antaris_SturmStopp on")} else {fhem("set Antaris_SturmStopp off")}}
2016.08.10 19:16:46 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit: 6.0
2016-08-10 19:16:46 readingsGroup TFA_Station Wetterstation.Windgeschwindigkeit: 6.0
2016-08-10 19:16:46 HTTPMOD Wetterstation Windgeschwindigkeit: 6,0
2016-08-10 19:16:46 HTTPMOD Wetterstation Windgeschwindigkeit: 6.0



Das Notify sieht derzeit so aus :

define Sturmwarnung_Test notify Wetterstation:Windgeschwindigkeit.* {Log3 undef,3,"Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit: $EVTPART1";; if($EVTPART1 > 4.0){fhem("set Antaris_SturmStopp on")} else {fhem("set Antaris_SturmStopp off")}}

Viele Grüße

André

DeeSPe

Das kann wieder nicht funktionieren, steht ja bereits im Fehlertext woran es liegt!
Wo ist denn im notify die Substitution geblieben?

define Sturmwarnung_Test notify Wetterstation:Windgeschwindigkeit.* {Log3 undef,3,"Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit vor Subst: $EVTPART1";; my $reading = $EVTPART1;; $reading =~ s/,/./g;; $reading = $reading*1;; Log3 undef,3,"Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit nach Subst: $reading";; if($reading > 4.0){fhem("set Antaris_SturmStopp on")} else {fhem("set Antaris_SturmStopp off")}}

Gruß
Dan

P.S. Habe Dir eine Logausgabe vor und nach der Substitution eingebaut.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Stargazer

Hi Dan,

ich dachte, die Substitution hätte ich mir sparen können, da ich es ja schon vorher, sprich im HTTPMOD, umformatiere. Dort wird es ja auch mit . statt , angezeigt.
Wieder ein Denkfehler... ??? .

Hier der Mitschnitt von deinem Code:

2016.08.10 19:41:32 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit vor Subst: 6,0
2016.08.10 19:41:32 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit nach Subst: 6
2016-08-10 19:41:32 dummy Antaris_SturmStopp on
2016.08.10 19:41:32 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit vor Subst: 6.0
2016.08.10 19:41:32 3 : Wert von EVTPART1 in Wetterstation:Windgeschwindigkeit nach Subst: 6
2016-08-10 19:41:32 readingsGroup TFA_Station Wetterstation.Windgeschwindigkeit: 6.0
2016-08-10 19:41:32 HTTPMOD Wetterstation Windgeschwindigkeit: 6,0
2016-08-10 19:41:32 HTTPMOD Wetterstation Windgeschwindigkeit: 6.0


Viele Grüße und Danke

André

DeeSPe

Was Du vorher schon alles machst, das weiß ich ja nicht. Mir war nur aufgefallen das die von mir vorgeschlagene Substitution nicht im notify war.
Lass doch mal im HTTPMOD die Umformatiererei sein und prüfe ob dann das notify wie von mir vorgeschlagen funktioniert.
Es macht immer nur Sinn an einer Stelle zu schrauben.....
Offensichtlich wird das notify bei Dir doppelt getriggert, oder warum stehen zur selben Zeit unterschiedliche "vor Subst" da?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe