on-for-timer - aktuellen Wert auslesen?

Begonnen von speedAmaster, 04 Dezember 2017, 23:47:23

Vorheriges Thema - Nächstes Thema

speedAmaster

Hallo,
ich habe mir einen Timer definiert, der über die TabletUI gesteuert (setzen und rücksetzen) werden kann.
Da der zu setzenden Wert 3Monate! betragen soll, tut sich natürlich beim "optischen countdown" wenig.
Daher wollte ich zusätzlich "noch 45Tage" anzeigen.....

Wie kann ich den aktuellen Wert des countdown lesen bzw gleich in Tage umrechnen?

define ComfoAir350FilterWechsel dummy
attr ComfoAir350FilterWechsel setList on off
attr ComfoAir350FilterWechsel useSetExtensions 1


<div data-type="push" data-device="ComfoAir350FilterWechsel" data-set-on="on-for-timer 7776000" class="cell"></div>


data-device gibt ja nur "on" oder "off" zurück

<div data-type="label" data-device="ComfoAir350FilterWechsel" class="cell"></div>

abc2006

Hi,
wie wärs mit

"defmod at ..." ?

mit defmod kannst du auch ändern, rücksetzen mit delete...
Evtl kann man da auch einfacher den Zeitpunkt auslesen, wann das AT ausgeführt werden soll ...

Grüße,
Stephan
FHEM nightly auf Intel Atom (lubuntu) mit VDSL 50000 ;-)
Nutze zur Zeit OneWire und KNX

CoolTux

Ich würde mir da eher Gedanken darum machen ob so ein hoher Wert für on-for-timer überhaupt geht.
In wie weit hattest Du das mal getestet? Und was geschieht mit dem Timer wenn FHEM neu startet.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

pula

Eigentlich solltest Du per data-get in der Lage sein, jedes Reading auszulesen:
https://wiki.fhem.de/wiki/FTUI_Widget_Label
data-get    Name des Readings, dessen Wert angezeigt werden soll       data-get="measured-temp"

Cheers,
Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

setstate

Das Reading "timedOn" hat den Startzeitpunkt. Du könntest dann ein Label mit der Differenz-Anzeige beauftragen. Mit Auto-Refresh.

Ulm32b

Nur damit ich das richtig in der Doku festhalten kann:

Wo finde ich das Reading "timedOn"? Der nachfolgend definierte Dummy kennt kein Reading "timedOn":
define Zeitschalter dummy
attr Zeitschalter setList on off
attr Zeitschalter useSetExtensions 1


Keine Antwort auf den Startzeitpunkt liefert:
<div data-type="push"
data-device="Zeitschalter"
data-set-on="on-for-timer 20"
class="cell"></div>
<div data-type="label" data-device="Zeitschalter" data-get="timedOn"></div>


Wo liegt mein Denkfehler?

setstate

Ich bin da auch kein Experte. Ich habe nur bei einem HM Device nachgesehen, was on-for-timer kann und das hat dieses Reading.
Du wirst Recht haben: Dummy wird sowas nicht haben, obwohl es on-for-timer kennt. Wird ein kleiner Mangel von Dummy sein

CoolTux

Das hat nicht direkt was mit dem Dummy zu tun sondern mit dem Modul SetExtensions. Hier drin enthalten ist eine Art Emulation von on-for-timer und mehr.
Das ist Softwareseitig geregelt. Wobei die Homematic Geräte es von sich aus können. Da steckt das in der Firmware drin.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

speedAmaster

@CoolTux: in der Tat: wenn FHEM neu startet ist der on-timer Wert verloren. aber auch bei zwei Anzeigen auf zwei Geräten funktioniert das so nicht....

Bei einem Dreimonatstimer muss ich mir wohl was anderes überlegen - evtl wie abc2006 vorgeschlagen hat mit defmod at.....       aber dann ist ja das Raster immer auf drei Monate fix. was wenn ich den Filter mal 2Wochen zu spät wechsle :-)    daher wollte ich "händisch" den countdown setzen.....

Beta-User

Wie wäre es, das in einen Calendar zu packen?

Und dann gibt es da auch noch eine Lösung namens "monitoring" (oder so ähnlich).

Vielleicht ist das einfacher, als das Rad neu zu erfinden (habe aber keine eigene Erfahrung mit lezterem).

Gruß, Beta-User
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

Standarduser

Zitat von: speedAmaster am 07 Dezember 2017, 00:59:27
aber dann ist ja das Raster immer auf drei Monate fix. was wenn ich den Filter mal 2Wochen zu spät wechsle :-)    daher wollte ich "händisch" den countdown setzen.....

Wie wäre es denn mit einer Sub, die das aktuelle Datum nimmt, 3 Monate drauf rechnet und das ins at schreibt?
Statt die Aktion direkt auszuführen triggerst du einfach die Sub an, oder einen Dummy, der das dann übernimmt