Dummy Schalter auslösen anhand von Reading Wert mit spezifischer Kommastelle

Begonnen von timmy2000, 24 September 2020, 09:08:04

Vorheriges Thema - Nächstes Thema

timmy2000

Guten Tag zusammen, vlt ist jemand so nett und kann mir ein wenig helfen.
Ich habe meine Fritzbox in Fhem eingebunden was auch soweit hervorragend funktioniert.
define FritzBox FRITZBOX 192.168.178.1
Über dieses Device steht mir ein Reading zu verfügung
setstate FritzBox 2020-09-24 09:01:54 box_rateDown 31.395
welches einen Wert zur Verfügung stellt der zwischen 1 und 4 Stellen vor dem Komma schwankt (box_rateDown 31.395) in diesem Beispiel hat er zwei Stellen vor dem Komma. Ich würde es nun gern dazu kommen lassen das ich mit einem Notify ein Event alle 10 min wiederholt auslöse wenn der Wert vor dem Komma mehr als drei stellen hat.
Wie ich darauf reagiere wenn sich das Reading ändert weiss ich inzwischen aber wie ich auf den Wert einer bestimmten Kommastelle im Reading reagiere bleibt mir ein Rätsel. Ich habe dazu auch leider nichts finden können.
   

Nobbynews

Zitat von: timmy2000 am 24 September 2020, 09:08:04Ich würde es nun gern dazu kommen lassen das ich mit einem Notify ein Event alle 10 min wiederholt auslöse wenn der Wert vor dem Komma mehr als drei stellen hat.
Mehr als 3 Stellen vor dem Komma ist doch nicht anderes als das der Wert >= 1000 beträgt.

timmy2000

Danke für den Hinweis. Sieht so aus als würde es funktionieren ;)

define FritzBox_notify_1 notify FritzBox:box_rateDown:.* { if(ReadingsVal("FritzBox","box_rateDown","") > 1000) { fhem("set IT_008_Dachboden_Schreibtisch_Strahler on") }}

Otto123

Oder Du findest ein regExp welches auf die dritte Stelle vor dem Punkt anspringt.
Zur Hilfe https://regex101.com/

Also 3 Ziffern vor dem Punkt, sollte als regExp lösbar sein. Ist aber Aufgabe als Sahnehäubchen ;)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

timmy2000

Danke das werde ich mir anschauen .... Wo kann ich denn das thema als gelöst makieren ? ...

timmy2000

Also mein Problem hat sich ja nun dank eurer Hilfe gut lösen lassen ! Das freut mich sehr  :)

define FritzBox_notify_1 notify FritzBox:box_rateDown:.* { if(ReadingsVal("FritzBox","box_rateDown","") > 1000) { fhem("set IT_008_Dachboden_Schreibtisch_Strahler on") }}

Gibt es für dieses Notify nun evtl auch eine einfache Lösung dafür das der Wert > 1000 mindestens 2 x eintreffen muss um den set Befehl abzusetzen um damit eine Redudanz zu erzielen ? Ich hoffe das ist nicht zu viel verlangt. Ich habe überhaupt keine Ahnung wie ich sowas realsieren
könnte ohne wieder riesen Ketten von active/inactive Dummys zu bauen. Ich will davon ganz gern mal weg, da mein ganzes Fhem mitlerweile aus set active/inactive notifys besteht. Das is irgendwie nich wirklich schön glaub ich ;)

Nobbynews

Ich würde hier mal in Richtung watchdog tendieren.
Durch das notify einen dummy triggern und diesen über watchdog überwachen und nach 10 Minuten dann erst den eigentlichen set-Befehl absetzen.

defmod wPraesenz_off watchdog Praesenz:off 00:10:00 Praesenz:on set "........."

Beta-User

Auch wenn ich ein Freund von watchdog bin: Hier wäre ggf. OldReadings eine Variante, mit der man über einen nummerischen Vergleich beider Werte (old+aktuell) das if erweitern könnte.

Sonst ginge ggf. auch watchdog direkt, allerdings sind regex-Ausdrücke für nummerische Vergleiche nicht ganz trivial. Falls der TE das versuchen wollte, würde ich mal für den ersten Ausdruck sowas in den Raum stellen (Bitte mit dem Wiedereinschalten des watchdog auseinandersetzen...):
[0-9]+[0-9]{3}[.].*
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

schwatter

@timmy2000

Du triggerst auf größer als 1000. Somit fällt die 1000 aber flach. Nobbynews hatte das oben schon beschrieben.
Ob das relevant ist entscheidest du  :)

timmy2000

Mit Watchdog hab ich mich nun vertraut gemacht... Das wieder scharfstellen klappt auch...Cooles Tool, wobei Fhem irgendwie süchtig macht
und es immer schlimmer wird jeh mehr man kapiert ;) Ja < 1000 is nicht 1000 :-) hab sogar ich geblickt trotz Bildungsstand "Hauptschule Fensterplatz" Zuletzt noch einmal ein riesen Dankeschön an all die Menschen die unermüdlich Die Fragen der Anfänger bedienen! Sehr engagiert
und lieb von euch! Bis dahin ein schönes Wochenede euch allen :) Danke !