[gelöst] At und Readings Value

Begonnen von Rolfg, 29 Mai 2017, 20:00:44

Vorheriges Thema - Nächstes Thema

Rolfg

Hallo,
ich verzweifel an einem At Befehl. Ich will damit meinen Koi Futterautomaten steuern. Das Ganze ist eine Homematic Funksteckdose. Hier mal der Code:
*10:00:00 {if(ReadingsVal('dy_Season', 'state', '') eq 'Sommer') {fhem ("set SteckdoseKoiFutter on-for-timer 3")} }

Die Namen sind richtig geschrieben bei SteckdoseKoiFutter steht auch der At unten drin das er damit verbunden ist. Der Dummy dy_Season steht auf Sommer. Beim At steht auch die zeit als next.  Aber er wird nicht ausgeführt. Leider steht auch in den Logfiles nichts drinnen. Ich habe noch andere At Befehlr die funktionieren einwandfrei. Werden aber auch nicht im Logfile angezeigt.

Vielleicht kann mir ja jemand auf die Sprünge helfen.

Danke und Gruß Rolf

DeeSPe

Was genau ist das Problem?
Der Code sieht nicht schön aus, sollte aber funktionieren!
Funktioniert "execNow" ?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Rolfg

Hallo Dan,

den Code hab ich mir so aus verschiedenen Beispielen versucht zusammen zubauen. Mit execNow wird er auch nicht ausgefürht. Es kommt kein Fehler, aber es pasiert auch nix. Also die Steckdose wird nicht geschaltet. Über web cmd usw. geht alles. Nur dieser At Befehl will nicht. da stimmt irgentwas nicht.

Danke und Gruß Rolf

DeeSPe

Was passiert wenn Du den Perl Code Teil in der FHEM Eingabezeile ausführst?

Gruß
Dan

EDIT: Kann SteckdoseKoiFutter überhaupt "on-for-timer"?
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Rolfg

Hallo Dan,

ja der reine set befehl mit on-for-timer funktioniert auch. Deshalb verzweifel ich auch ein wenig. Das Problem ist auch das in jedem Beispiel die Leerzeichen vor oder hinter klammer oder geschweiften klammern anders sind. Da blick ich nicht durch.

Danke und Gruß Rolf

DeeSPe

Zeig mal bitte ein list von dem at, von dy_Season und von SteckdoseKoiFutter.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Rolfg

Hallo Dan

list at:

Internals:
   COMMAND    {if(ReadingsVal('dy_Season', 'state', '') eq 'Sommer') {fhem ("set SteckdoseKoiFutter on-for-timer 3")} }

   DEF        *10:00:00 {if(ReadingsVal('dy_Season', 'state', '') eq 'Sommer') {fhem ("set SteckdoseKoiFutter on-for-timer 3")} }

   NAME       KoiFuetterung_Sommer4
   NR         121
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 10:00:00
   TIMESPEC   10:00:00
   TRIGGERTIME 1496131200
   TRIGGERTIME_FMT 2017-05-30 10:00:00
   TYPE       at
   Readings:
     2017-05-29 21:11:40   state           Next: 10:00:00
Attributes:
   room       Garten


list dy_Season:

Internals:
   NAME       dy_Season
   NR         101
   STATE      state Sommer
   TYPE       dummy
   Readings:
     2017-05-23 19:41:21   state           state Sommer
Attributes:
   alias      Jahreszeiten
   devStateIcon Sommer:weather_summer:Herbst Frühling:weather_pollen:Sommer Herbst:weather_wind:Winter Winter:weather_winter:Frühling
   room       Garten,Wettervorhersage
   setList    state:Winter,Frühling,Sommer,Herbst


list Steckdose:

Internals:
   DEF        56505E
   HMLANGW_MSGCNT 1
   HMLANGW_RAWMSG 05010054BFA41056505E1231230601000058
   HMLANGW_RSSI -84
   HMLANGW_TIME 2017-05-29 21:00:04
   IODev      HMLANGW
   LASTInputDev HMLANGW
   MSGCNT     1
   NAME       SteckdoseKoiFutter
   NOTIFYDEV  global
   NR         99
   NTFY_ORDER 50-SteckdoseKoiFutter
   STATE      off
   TYPE       CUL_HM
   lastMsg    No:BF - t:10 s:56505E d:123123 0601000058
   protLastRcv 2017-05-29 21:00:04
   protSnd    2 last_at:2017-05-29 21:00:04
   protState  CMDs_done
   rssi_HMLANGW avg:-88 lst:-88 min:-88 cnt:1 max:-88
   rssi_at_HMLANGW min:-84 avg:-84 lst:-84 cnt:1 max:-84
   Readings:
     2017-05-29 19:45:07   CommandAccepted yes
     2017-04-08 15:01:12   D-firmware      2.6
     2017-04-08 15:01:12   D-serialNr      OEQ0189238
     2017-04-08 15:01:21   PairedTo        0x123123
     2017-04-08 15:01:21   R-pairCentral   0x123123
     2017-04-08 15:01:21   R-powerUpAction off
     2017-04-08 15:01:21   R-sign          off
     2017-04-08 15:01:21   RegL_00.        02:01 0A:12 0B:31 0C:23 15:FF 18:00 00:00
     2017-04-08 15:01:21   RegL_01.        08:00 30:06 56:00 57:24 93:5F 94:B3 00:00
     2017-05-29 21:00:04   deviceMsg       off (to HMLANGW)
     2017-05-29 21:00:04   level           0
     2017-05-29 21:00:04   pct             0
     2017-05-29 21:00:04   recentStateType info
     2017-05-29 21:00:04   state           off
     2017-05-29 21:00:04   timedOn         off
   Helper:
     HM_CMDNR   191
     cSnd       ,0112312356505E010E
     mId        00D8
     rxType     1
     supp_Pair_Rep 0
     Expert:
       def        1
       det        0
       raw        1
       tpl        0
     Io:
       newChn     +56505E,00,00,00
       nextSend   1496084405.04286
       prefIO
       rxt        0
       vccu
       p:
         56505E
         00
         00
         00
     Mrssi:
       mNo        BF
       Io:
         HMLANGW    -82
     Prt:
       bErr       0
       sProc      0
       Rspwait:
     Q:
       qReqConf
       qReqStat
     Role:
       chn        1
       dev        1
       prs        1
     Rpt:
       IO         HMLANGW
       flg        A
       ts         1496084404.75001
       ack:
         HASH(0x3958690)
         BF800212312356505E00
     Rssi:
       Hmlangw:
         avg        -88
         cnt        1
         lst        -88
         max        -88
         min        -88
       At_hmlangw:
         avg        -84
         cnt        1
         lst        -84
         max        -84
         min        -84
     Tmpl:
Attributes:
   IODev      HMLANGW
   autoReadReg 4_reqStatus
   expert     2_raw
   firmware   2.6
   model      HM-LC-Sw1-Pl-DN-R1
   peerIDs    00000000,
   room       Garten,CUL_HM
   serialNr   OEQ0189238
   subType    switch
   webCmd     statusRequest:toggle:on:off


Viel Text.

Danke und Gruß Rolf

DeeSPe

attr dy_Season readingList state
ist die Lösung.
Danach 1x "set dy_Season state Sommer" ausführen und Dein at sollte funktionieren.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Rolfg

Hallo Dan,

tausend Dank du bist mein Held. Der execNow hat auf anhieb funktioniert. Dieses Atribut habe ich schon mal gesehen.

Besten Dank und Gruß Rolf

DeeSPe

Bitte gerne!
Hoffentlich verstehst Du was sich geändert hat dadurch, denn nur dann war das hier sinnvoll. 8)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Rolfg

Hallo Dan,

verstehen naja. Der State wird jetzt richtig angezeigt. Soweit ich das sehe. Da stand vorher state  state Sommer. Dabei habe ich mir nichts gedacht weil im at unten auch der dy_Season mit state Sommer stand so wie ich dachte es soll. Was dieses atribut jetzt genau macht weiß ich nicht. Das mit den atributen ist mir leider eh zum teil ein rätsel was die so alles bewirken. Aber ich kämpfe mich dank Google und viel lesen im Forum und Wiki so durch. Und wenn ich garnicht klar komme frage ich halt und manchmal wird mir dann auch so toll geholfen.

Danke und Gruß Rolf

DeeSPe

Per Default landet bei einem dummy erst mal alles in state.
Durch das Setzen von readingList kannst Du Deine set Befehlen die passenden Readings erstellen lassen.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Rolfg

Hallo Dan,

ich glaube ich habs verstanden. Durch das readingslist kann ich bestimmen was im state steht. Muss ich mal mit experimentieren. Habe da noch so ein paar dummies aus der Anfangszeit als Fernsteuerung fürs Wohnzimmer. Das muß ich mal optimieren. Leider wird in manchen Wikis sehr viel vorraus gesetzt. Klar man muß sich damit beschäftigen. Aber manchmal findet man den Wald vor lauter Bäumen nicht.

Danke und Gruß Rolf

DeeSPe

Nein, durch readingList sagst Du welche "Auswahlliste" aus "setList" ein Reading erstellen soll.
Tust Du das nicht erscheint "<Auswahlliste> <Auswahl>" im Reading state.
Statt "readingList" hinzuzufügen hättest Du auch "attr dy_Season setList Frühling:noArg Sommer:noArg Herbst:noArg Winter:noArg" setzen können. Das Ergebnis wäre das Selbe: die Jahreszeiten erscheinen, ohne irgendwas davor, in state.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe