(gelöst) DOIF liefert bei get das ergebniss in readings:error

Begonnen von 3dmanipulator, 08 Oktober 2015, 16:31:22

Vorheriges Thema - Nächstes Thema

3dmanipulator

ich versuche mit folgendem DOIF den aktuellen Stromverbrauch einer Steckdose in der greenwave 6er schaltsteckdose auszulesen.

Internals:
   DEF        ([greenwave.power:power] ne [va.greenwave.power:state])   ## vergleich neu mit alt

(
(get tv_6 meter 2)                                       ## holen
(set va.greenwave.power [greenwave.power:power])         ## aktualisieren
)
   NAME       do.greenwave.power
   NR         173
   NTFY_ORDER 50-do.greenwave.power
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-10-08 16:22:04   Device          va.greenwave.power
     2015-10-08 16:22:08   cmd_event       greenwave.power
     2015-10-08 16:22:08   cmd_nr          1
     2015-10-08 16:22:04   e_greenwave.power_power  0.9 W previous: 0.8 delta_time: 9 s
     2015-10-08 16:22:04   e_va.greenwave.power_state 0.9 W previous: 0.8 delta_time: 9 s
     2015-10-08 16:22:08   error           get tv_6 meter 2: power: 0.9 W previous: 0.8 delta_time: 9 s
     2015-10-08 16:22:08   state           cmd_1
   Condition:
     0          ReadingValDoIf('greenwave.power','power','') ne ReadingValDoIf('va.greenwave.power','state','')
   Devices:
     0           greenwave.power va.greenwave.power
     all         greenwave.power va.greenwave.power
   Do:
     0:
       0           (get tv_6 meter 2)                                        (set va.greenwave.power [greenwave.power:power])
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           greenwave.power:power va.greenwave.power:state
     all         greenwave.power:power va.greenwave.power:state
   State:
   Timerfunc:
   Trigger:
Attributes:
   do         always
   room       Doif


das ergebniss ist richtig, aber es wird als readings:error ausgegeben:
2015-10-08 16:22:08   error           get tv_6 meter 2: power: 0.9 W previous: 0.8 delta_time: 9 s

wenn ich den get befehl direkt eingebe gibt es keine Probleme.
bei 2 get befehlen hintereinander, (es gibt ja schließlich 6 Steckdosen) bekommt der 2. und folgende ein timeout??


raspberry pi, razberry, fibaro sensor, fibaro dimmer,  nodon fb, tkb dual dimmer Switch, milight e27 + stripe, hmlan, hm-TC, hm-RT

Damian

Zitat von: 3dmanipulator am 08 Oktober 2015, 16:31:22
ich versuche mit folgendem DOIF den aktuellen Stromverbrauch einer Steckdose in der greenwave 6er schaltsteckdose auszulesen.

Internals:
   DEF        ([greenwave.power:power] ne [va.greenwave.power:state])   ## vergleich neu mit alt

(
(get tv_6 meter 2)                                       ## holen
(set va.greenwave.power [greenwave.power:power])         ## aktualisieren
)
   NAME       do.greenwave.power
   NR         173
   NTFY_ORDER 50-do.greenwave.power
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-10-08 16:22:04   Device          va.greenwave.power
     2015-10-08 16:22:08   cmd_event       greenwave.power
     2015-10-08 16:22:08   cmd_nr          1
     2015-10-08 16:22:04   e_greenwave.power_power  0.9 W previous: 0.8 delta_time: 9 s
     2015-10-08 16:22:04   e_va.greenwave.power_state 0.9 W previous: 0.8 delta_time: 9 s
     2015-10-08 16:22:08   error           get tv_6 meter 2: power: 0.9 W previous: 0.8 delta_time: 9 s
     2015-10-08 16:22:08   state           cmd_1
   Condition:
     0          ReadingValDoIf('greenwave.power','power','') ne ReadingValDoIf('va.greenwave.power','state','')
   Devices:
     0           greenwave.power va.greenwave.power
     all         greenwave.power va.greenwave.power
   Do:
     0:
       0           (get tv_6 meter 2)                                        (set va.greenwave.power [greenwave.power:power])
   Helper:
     globalinit 1
     last_timer 0
     sleeptimer -1
   Internals:
   Itimer:
   Readings:
     0           greenwave.power:power va.greenwave.power:state
     all         greenwave.power:power va.greenwave.power:state
   State:
   Timerfunc:
   Trigger:
Attributes:
   do         always
   room       Doif


das ergebniss ist richtig, aber es wird als readings:error ausgegeben:
2015-10-08 16:22:08   error           get tv_6 meter 2: power: 0.9 W previous: 0.8 delta_time: 9 s

wenn ich den get befehl direkt eingebe gibt es keine Probleme.
bei 2 get befehlen hintereinander, (es gibt ja schließlich 6 Steckdosen) bekommt der 2. und folgende ein timeout??

Der Error kommt immer dann, wenn das Kommando einen Returnwert ungleich Null liefert. Das Kommando wird dennoch ausgeführt.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

3dmanipulator

stimmt :)

...und auch die timeout Meldungen kann man ignorieren

danke und grüße
horst
raspberry pi, razberry, fibaro sensor, fibaro dimmer,  nodon fb, tkb dual dimmer Switch, milight e27 + stripe, hmlan, hm-TC, hm-RT