ReadingsVal Function error (state als Zeit als Zeit und 7 als Wochentage

Begonnen von pmakdlef35, 12 März 2018, 18:04:55

Vorheriges Thema - Nächstes Thema

pmakdlef35

Liebe Fhem Gemeinde,

Schätze mich als Anfänger ein und bin gerade dabei eine Rolladensteuerung mit manueller Eingabe zu implementieren.
um die im Dummy gesetzte Zeit in ein AT einzulesen habe ich folgendes AT erstellt (innerhalb von Fhem)
list:
Internals:
   CFGFN     
   COMMAND    set Alle_Rolladen_dy off
   DEF        *{ReadingsVal("du_Rollo_Zeit_ho","state",""|7)} set Alle_Rolladen_dy off
   NAME       Rollo_Zeit_ho_at
   NR         348
   NTM        07:00:00
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      inactive
   TIMESPEC   {ReadingsVal("du_Rollo_Zeit_ho","state",""|7)}
   TRIGGERTIME 1520920800
   TRIGGERTIME_FMT 2018-03-13 07:00:00
   TYPE       at
   READINGS:
     2018-03-12 07:00:00   state           inactive
Attributes:

das Problem: ab und zu wird dieser Fehler ausgeben:

the function "ReadingsVal("du_Rollo_Zeit_ho","state",""|7)"  must return a timespec and not 7

Das at funktioniert, aber ich würde den Fehler gerne beheben.
hier noch der List vom Dummy:

Internals:
   NAME       du_Rollo_Zeit_ho
   NR         196
   STATE      07:00
   TYPE       dummy
   READINGS:
     2018-03-10 23:29:06   state           07:00
Attributes:
   alias      Zeit hoch:
   devStateIcon .*:rc_BLANK
   group      Rollo_Settings
   icon       icoUhr
   room       ZWave
   setList    state:time
   sortby     10
   webCmd     state

da der Fehler nur von Zeit zu Zeit auftritt, z.zt leider kein LOG mit verbose 5

Vielen Dank für die Hilfe im voraus

betateilchen

#1
Was soll denn dabei - Deiner Vorstellung nach - rauskommen?

ReadingsVal("du_Rollo_Zeit_ho","state",""|7)




Zitat von: pmakdlef35 am 12 März 2018, 18:04:55
da der Fehler nur von Zeit zu Zeit auftritt, z.zt leider kein LOG mit verbose 5

Dazu braucht es kein LOG mit verbose 5. Der Fehler tritt vermutlich immer dann auf, wenn in "state" nix drinsteht und ein default-Wert ermittelt werden soll. Und weder "" noch 7 ist eine gültige Zeitangabe, die in einem at verwendet werden könnte.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

pmakdlef35

Hallo betateilchen,

danke für die schnelle reaction.

Der Wert vom Dummy  soll übergeben werden, hier 07:00, also 07:00:00 (hh:mm:ss) um diese Zeit im at zu benutzen.


aus deiner Antwort entnehme ich, das ein default wert gesetzt werden muss, um diesen Fehler zu vermeiden.

müsste das dann so aussehen?

ReadingsVal("du_Rollo_Zeit_ho","state","07:00:00"|7)

betateilchen


  • Du solltest die Dokumentation zu "at" nochmal lesen - und verstehen.
  • Du solltest bitte code-Tags in Deinen Beiträgen verwenden, die machen das Lesen einfacher.
  • Ob Du "07:00" oder "07:00:00" als default verwendest, ist egal. Aber das wirst Du erkennen, wenn Du 1. erledigt hast.
  • was das "|7" bedeuten soll, verstehe ich immer noch nicht.

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

KernSani

RasPi: RFXTRX, HM, zigbee2mqtt, mySensors, JeeLink, miLight, squeezbox, Alexa, Siri, ...

betateilchen

ich hatte ja schon die Vermutung, dass es wieder auf Popcorn hinausläuft... danke für die Bestätigung.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!