Hauptmenü

[gelöst] Aktion bei Datum

Begonnen von joewanne, 24 Juni 2019, 19:58:04

Vorheriges Thema - Nächstes Thema

joewanne

Hallo zusammen,

ich habe ein dummy (AQ_WW), bei dem ich mit readingList (AQ_WW_TIME) eine Zeit in Sekunden setze.
Jetzt soll, wenn diese Zeit erreicht ist, ein notify den Status des dummys (AQ_WW) ändern.
Aber es will nicht Funktionieren.
Es fehlen mir diesbezüglich auch die Erfahrungen :-(
Hier mein notify


AQ_WW:AQ_WW_TIME:.* {
my $zeit = time();
my $aqzeit = ReadingsVal("AQ_WW","AQ_WW_TIME","");
if ($zeit == $aqzeit) { fhem("set AQ_WW 3")} }


Ich komme absolut nicht mehr weiter.
Vielleicht ist es auch der absolut falsche Weg zum Ziel.

Ich denke mal, ihr könnt mir da bestimmt weiterhelfen.

Danke schon mal für eure Hilfe.


Liebe Grüße
Jörg

amenomade

Mach ein paar Log Befehle in deinem  Code, so wirst Du sehen, was Du vergleichst:
AQ_WW:AQ_WW_TIME:.* {
my $zeit = time();
my $aqzeit = ReadingsVal("AQ_WW","AQ_WW_TIME","");
Log3 ($name, 1, "zeit= $zeit aqzeit= $aqzeit");
if ($zeit == $aqzeit) { fhem("set AQ_WW 3")} }


time() ergibt nw. ein unix timestamp (Anzahl Sekunden seit epoch), und dein Reading hat wahscheinlich ein anderes Format. Somit vergleichst Du zwei Strings, die miteinander nichts zu tun haben...
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

Ein Notify reagiert auf einen Event NICHT auf Zeit oder abgelaufene Zeit...

Du brauchst vermutlich ein Notify auf Änderung der Zeit beim Dummy...
Im Notify musst du dann ein "at" definieren mit der Zeit aus dem Dummy (Achtung: Zeitformat bei "at" beachten! Also "umrechnen"...) das "at" setzt dann eben genau nach der Zeit den Dummy auf "was auch immer"... ;)

Bzw.: was genau willst du mit diesem "Konstrukt" erreichen?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

joewanne

Hallo amenomade,

Zitat
time() ergibt nw. ein unix timestamp (Anzahl Sekunden seit epoch), und dein Reading hat wahscheinlich ein anderes Format. Somit vergleichst Du zwei Strings, die miteinander nichts zu tun haben...
Das  Reading hat das richtige Format (2019.06.24 21:05:15 1 : zeit= 1561403115 aqzeit= 1561403160)
Daher sollte das passen.


amenomade

Zitat von: joewanne am 24 Juni 2019, 21:10:56
Hallo amenomade,
Das  Reading hat das richtige Format (2019.06.24 21:05:15 1 : zeit= 1561403115 aqzeit= 1561403160)
Daher sollte das passen.
Und damit siehst Du, dass Du kaum eine Chance hast, sowas zu schaffen: dein notify reagiert auf alle Events des Devices. Was ist die warhscheinlichkeit, dass die Änderung dieses Devices gleichzeitig mit der vordefinierten Zeit passiert?

Joachim hat Recht, Du musst anders übelegen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

joewanne

Zitat von: MadMax-FHEM am 24 Juni 2019, 21:06:55
Ein Notify reagiert auf einen Event NICHT auf Zeit oder abgelaufene Zeit...

Du brauchst vermutlich ein Notify auf Änderung der Zeit beim Dummy...
Im Notify musst du dann ein "at" definieren mit der Zeit aus dem Dummy (Achtung: Zeitformat bei "at" beachten! Also "umrechnen"...) das "at" setzt dann eben genau nach der Zeit den Dummy auf "was auch immer"... ;)

Bzw.: was genau willst du mit diesem "Konstrukt" erreichen?

Gruß, Joachim

Hallo MadMax-FHEM,

okay das war dann ein Denkfehler von mir.
Also, ich habe damit vor, den Wasserwechsel von meinem Aquarium zu steuern.
Sprich, wenn das Datum von dem Dummy erreicht wird, werden xx Liter vom Aquarium abgepumpt und xx Liter aufgefüllt
Das ganze soll erst mal halbautomatisch funktionieren, so das ich noch extra Bestätigen muss.
Daher wollte ich mir erst mal ein notify machen der mir bei dem dummy einen Wert 1 - 3 setzt, das ganze zu verschiedene Zeiten

joewanne

Zitat von: amenomade am 24 Juni 2019, 21:19:22
Oder so: https://fhem.de/commandref_DE.html#DOIF_Indirekten_Zeitangaben

Das hab ich mir auch schon angesehen, aber da habe ich dann nur eine Uhrzeit und kein Datum.
Oder verstehe ich das nun alles falsch ?


define time dummy
set time 08:00

define di_time DOIF ([[time]])(set lamp on)
attr di_time do always

amenomade

Ja, sorry, deswegen hatte ich mein Post gelöscht, aber das war schon zu spät, du hattest es schon gelesen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

joewanne

Kein Problem,

ich werde mich dann mit mit dem at auseinander setzen.
Vielleicht komme ich dann ja so ans Ziel.

MadMax-FHEM

Hab ich jetzt nicht so ganz verstanden bzw. nicht alles...

Aber wie geschrieben:

Notify auf Datums/Zeitänderung des Dummy, wenn das deine manuelle "Bestätigung" sein soll...

In dem Notify dann ein "at" anlegen, was zum eingestellten Datum/Uhrzeit "auslöst" und den Dummy setzt...

Was/wie wird gepumpt?
Manuell? Soll das auch automatisch nach/bei der eingestellten Zeit passieren?
Kann man auch automatisieren: Dummy setzen (wenn du einen Status willst / würde ich aber im Notify zurück setzen sonst siehst du ja nach dem 1. Schalten keinen Unterschied mehr...)

Es gibt aber auch Fhem-Module, die evtl. machen was du willst:

MSwitch könnte das vermutlich...

Weekdaytimer vielleicht auch...

Wahrscheinlich auch mit DOIF ohne Dummy machbar...

Und wahrscheinlich noch weitere...
...es gab auch mal einen "Notify-Wecker", wo man bei Dummies Datum/Uhrzeit einstellen konnte und dann noch wählen konnte was geschalten werden soll...
...aber geht mit den genannten Moduleb wohl (deutlich) einfacher...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

Hi,

und einfach Kalender? Ein Serientermin und fertig?

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

joewanne

Zitat von: MadMax-FHEM am 24 Juni 2019, 21:28:44
Hab ich jetzt nicht so ganz verstanden bzw. nicht alles...

Aber wie geschrieben:

Notify auf Datums/Zeitänderung des Dummy, wenn das deine manuelle "Bestätigung" sein soll...

In dem Notify dann ein "at" anlegen, was zum eingestellten Datum/Uhrzeit "auslöst" und den Dummy setzt...

Was/wie wird gepumpt?
Manuell? Soll das auch automatisch nach/bei der eingestellten Zeit passieren?
Kann man auch automatisieren: Dummy setzen (wenn du einen Status willst / würde ich aber im Notify zurück setzen sonst siehst du ja nach dem 1. Schalten keinen Unterschied mehr...)

Es gibt aber auch Fhem-Module, die evtl. machen was du willst:

MSwitch könnte das vermutlich...

Weekdaytimer vielleicht auch...

Wahrscheinlich auch mit DOIF ohne Dummy machbar...

Und wahrscheinlich noch weitere...
...es gab auch mal einen "Notify-Wecker", wo man bei Dummies Datum/Uhrzeit einstellen konnte und dann noch wählen konnte was geschalten werden soll...
...aber geht mit den genannten Moduleb wohl (deutlich) einfacher...

Gruß, Joachim

Wasser wird aus dem Aquarium abgepumpt und anschließend wieder aufgefüllt.
Dies soll aber erst mal nur halbautomatisch gehen, wäre da schon gerne dabei bevor es nachher eine Überschwemmung gibt.

joewanne

Zitat von: Otto123 am 24 Juni 2019, 21:33:27
Hi,

und einfach Kalender? Ein Serientermin und fertig?

Gruß Otto

Daran hab ich noch gar nicht gedacht, werde ich mir gleich mal anschauen

Otto123

Es gibt wirklich gute Beispiele in der langen Doku zu Calendar.
Wenn Du meine Notiz gebrauchen kannst.  ;)

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

joewanne

Hallo Otto,

ich glaub das ist die beste Lösung für mein Problem.
Ich lese mir das morgen mal alles in Ruhe durch.

Liebe Grüße Jörg