Neue Version von HTTPMOD mit neuen Features zum Testen

Begonnen von StefanStrobel, 05 Dezember 2015, 08:31:32

Vorheriges Thema - Nächstes Thema

Helmi55

Hallo Stefan
Danke für deine Mühe. Bin gestern auf den Fehler draufgekommen.
Das Problem sitzt vor dem Bildschirm.......
ich habe die StoveID hier
https://forum.fhem.de/index.php/topic,76220.msg1175708.html#msg1175708
falsch eingegeben.
Muss beim Neuaufsetzen des Systems mit copy paste passiert sein.

Aber auf jeden Fall muss ich mich mit Burp beschäftigen denn man weiß ja nie was RIKA so einfällt.

Schönen Tag
Helmut
System1 fhem 6.1 auf RPi 4B mit 4GB, HMUSBConfig, DS9490R-1Wire, Busware USB 868, Pool-Solarsteuerung mit FHEM. System2 fhem 6.1 auf RPi 4B mit 4GB (Bullseye) mit Busware USB 868 und 433 und HMUARTLGW für Haussteuerung

https://www.flickr.com/photos/canonhelmi/

schwatter

@StefanStrobel

Nabend,
kann ich auf ein set ein automatisches reread einstellen?
Super wäre noch eine einstellbare Verzögerung wie bei dem Standardsetup.

Gruß schwatter

ch.eick

Zitat von: schwatter am 21 Oktober 2021, 22:53:40
@StefanStrobel

Nabend,
kann ich auf ein set ein automatisches reread einstellen?
Super wäre noch eine einstellbare Verzögerung wie bei dem Standardsetup.

Gruß schwatter
Du kannst folgendes verwenden

set[nnnn]FollowGet <Name des get>

Das wartet jedoch nur, bis das set fertig ist.

VG
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

schwatter

#1098
Danke,
mal sehen ob das zu meinem Setup passt. Problem bei mir ist,
ich nutze kein get. Die Readings werden per json und interval aktualisiert.

Gruß schwatter

schwatter

@ch.eick

Es war doch für mich der richtige Tip.
Nachdem ich jetzt die Url für Json einfach nochmal per get01URL und get01Name hinzugefügt habe und dann jedes set einfach per "set[xxxxx]FollowGet <Name des get>" erweiterte, funktioniert es wie gewünscht.

Danke!

Gruß schwatter

ch.eick

Zitat von: schwatter am 23 Oktober 2021, 11:39:19
Es war doch für mich der richtige Tip.
Nachdem ich jetzt die Url für Json einfach nochmal per get01URL und get01Name hinzugefügt habe und dann jedes set einfach per "set[xxxxx]FollowGet <Name des get>" erweiterte, funktioniert es wie gewünscht.
Schön, das es klappt :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

schwatter

@StefanStrobel

Ich habe per widgetOverride einen Colorpicker hinzugefügt.
Damit möchte ich einen Farbcode senden.

option_moodlamp_hex:colorpicker,RGB

Leider meckert HTTPMOD.

set value 45FF30 is not numeric

Gibt es eine Möglichkeit Hexdecimal zu senden?


Gruß schwatter

perseusarm

Guten Morgen,

so, jetzt hat mich das bodyDecode auch erwischt.

Ich habe eine Oekofen Pelletheizung die mir den JSON ohne charset im Header ausgibt.
Im Log hab ich dann folgendes:

2021.11.16 08:55:02 4: Pellematic: BodyDecode is not decoding the response body (charset header not found, bodyDecode set to auto)
2021.11.16 08:55:02 4: Pellematic: error while parsing JSON data: malformed UTF-8 character in JSON string, at character offset 92 (before "\x{fffd}C", "factor"...") at lib/FHEM/HTTPMOD/Utils.pm line 678.

2021.11.16 08:55:02 5: Pellematic: GetCookies is looking for Cookies
2021.11.16 08:55:02 5: Pellematic: ExtractSid called, context get, num 01
2021.11.16 08:55:02 4: Pellematic: checking for redirects, code=200, ignore=0
2021.11.16 08:55:02 4: Pellematic: no redirects to handle
2021.11.16 08:55:02 5: Pellematic: Read callback sets LAST_REQUEST to get01
2021.11.16 08:55:02 5: Pellematic: CheckAuth decided no authentication required
2021.11.16 08:55:02 5: Pellematic: ExtractReading Atemp with json $.hk1.L_statetext ...
2021.11.16 08:55:02 5: Pellematic: ExtractReading Atemp did not match
2021.11.16 08:55:02 4: Pellematic: Read response to get01 didn't match any Reading
2021.11.16 08:55:02 5: Pellematic: HandleSendQueue called from ReadCallback, qlen = 0
2021.11.16 08:55:02 5: Pellematic: HandleSendQueue found no usable entry in queue


Ich habe diverse bodyDecodes ausprobiert (none, auto, utf8, cp850, latin1). Aber immer der gleiche Fehler.
Hat jemand einen Tipp wie ich das korrekt decodieren kann?

Vielen Dank

Gruß
Sascha

FHEM auf NUC, CUL866, HM-.*, Raspimatc, ...

schwatter

Zitat von: schwatter am 14 November 2021, 00:32:30
@StefanStrobel

Ich habe per widgetOverride einen Colorpicker hinzugefügt.
Damit möchte ich einen Farbcode senden.

option_moodlamp_hex:colorpicker,RGB

Leider meckert HTTPMOD.

set value 45FF30 is not numeric

Gibt es eine Möglichkeit Hexdecimal zu senden?


Gruß schwatter

ok, gelöst.

@stefanru hat mir gerade den Hinweis gegeben, das ich auf TextArg umstellen muss. Jetzt funktioniert senden von Hexdezimal.


Gruß schwatter

fireball

#1104
Moin Moin,

ich habe eine Frage zu HTTPMOD... ich habe folgendes Device mit HTTPMOD erzeugt:

Internals:
   BUSY       0
   DEF        none 600
   FUUID      5df9ff86-f33f-0804-1db2-f03fb7efb573da15
   Interval   600
   MainURL   
   ModuleVersion 4.1.10 - 6.7.2021
   NAME       HomeTouch
   NOTIFYDEV  global
   NR         403
   NTFY_ORDER 50-HomeTouch
   STATE      SUCCESS
   STILLDONETIME 0
   TYPE       HTTPMOD
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       http://Merten-Home-Touch:80
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl http://Merten-Home-Touch/ocf/wlan0
     header     Content-Type: application/json
     host       Merten-Home-Touch
     httpheader HTTP/1.1 200 OK
Server: nginx/1.11.5
Date: Sun, 21 Nov 2021 12:59:57 GMT
Content-Type: application/json
Transfer-Encoding: chunked
Connection: close
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
     httpversion 1.1
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /ocf/wlan0
     protocol   http
     redirects  0
     timeout    2
     url        http://Merten-Home-Touch/ocf/wlan0
     sslargs:
   QUEUE:
   READINGS:
     2021-11-21 13:59:57   HomeTouch_STATE SUCCESS
     2021-11-21 13:59:52   Taster_OpenLevel-1 100
     2021-11-21 13:59:52   Taster_OpenLevel-10 100
     2021-11-21 13:59:52   Taster_OpenLevel-11 100
     2021-11-21 13:59:52   Taster_OpenLevel-12 20
     2021-11-21 13:59:52   Taster_OpenLevel-13 100
     2021-11-21 13:59:52   Taster_OpenLevel-14 100
     2021-11-21 13:59:52   Taster_OpenLevel-2 100
     2021-11-21 13:59:52   Taster_OpenLevel-3 100
     2021-11-21 13:59:52   Taster_OpenLevel-4 100
     2021-11-21 13:59:52   Taster_OpenLevel-5 100
     2021-11-21 13:59:52   Taster_OpenLevel-6 100
     2021-11-21 13:59:52   Taster_OpenLevel-7 100
     2021-11-21 13:59:52   Taster_OpenLevel-8 100
     2021-11-21 13:59:52   Taster_OpenLevel-9 100
     2021-03-28 12:29:16   Taster_URL      http://192.168.178.128/ocf/wlss97/shutter/1
     2021-11-21 13:59:51   Taster_WiserLink-1 wlss31
     2021-11-21 13:59:51   Taster_WiserLink-10 wlss68
     2021-11-21 13:59:51   Taster_WiserLink-11 wlss70
     2021-11-21 13:59:51   Taster_WiserLink-12 wlss97
     2021-11-21 13:59:51   Taster_WiserLink-13 wlss99
     2021-11-21 13:59:51   Taster_WiserLink-14 wlss102
     2021-11-21 13:59:51   Taster_WiserLink-2 wlss32
     2021-11-21 13:59:51   Taster_WiserLink-3 wlss37
     2021-11-21 13:59:51   Taster_WiserLink-4 wlss39
     2021-11-21 13:59:51   Taster_WiserLink-5 wlss42
     2021-11-21 13:59:51   Taster_WiserLink-6 wlss44
     2021-11-21 13:59:51   Taster_WiserLink-7 wlss47
     2021-11-21 13:59:51   Taster_WiserLink-8 wlss49
     2021-11-21 13:59:51   Taster_WiserLink-9 wlss51
     2021-11-21 13:59:54   Taster_WiserName-1 Rollladen 2
     2021-11-21 13:59:54   Taster_WiserName-10 Rollladen 1
     2021-11-21 13:59:54   Taster_WiserName-11 Rollladen 2
     2021-11-21 13:59:54   Taster_WiserName-12 Terrasse
     2021-11-21 13:59:54   Taster_WiserName-13 Rollladen 2
     2021-11-21 13:59:54   Taster_WiserName-14 Rollladen
     2021-11-21 13:59:54   Taster_WiserName-2 Kueche
     2021-11-21 13:59:54   Taster_WiserName-3 Rollladen 1
     2021-11-21 13:59:54   Taster_WiserName-4 Rollladen
     2021-11-21 13:59:54   Taster_WiserName-5 Rollladen 1
     2021-11-21 13:59:54   Taster_WiserName-6 Rollladen 2
     2021-11-21 13:59:54   Taster_WiserName-7 Rollladen 1
     2021-11-21 13:59:54   Taster_WiserName-8 Rollladen 2
     2021-11-21 13:59:54   Taster_WiserName-9 Rollladen 1
     2021-11-21 13:59:53   Taster_WiserRoom-1 17_WZ
     2021-11-21 13:59:53   Taster_WiserRoom-10 09_KZ
     2021-11-21 13:59:53   Taster_WiserRoom-11 09_KZ
     2021-11-21 13:59:53   Taster_WiserRoom-12 17_WZ
     2021-11-21 13:59:53   Taster_WiserRoom-13 09_Gaestezimmer
     2021-11-21 13:59:53   Taster_WiserRoom-14 04_Bad_Oben
     2021-11-21 13:59:53   Taster_WiserRoom-2 17_WZ
     2021-11-21 13:59:53   Taster_WiserRoom-3 17_WZ
     2021-11-21 13:59:53   Taster_WiserRoom-4 04_Bad_Unten
     2021-11-21 13:59:53   Taster_WiserRoom-5 23_Buero
     2021-11-21 13:59:53   Taster_WiserRoom-6 23_Buero
     2021-11-21 13:59:53   Taster_WiserRoom-7 06_SZ
     2021-11-21 13:59:53   Taster_WiserRoom-8 06_SZ
     2021-11-21 13:59:53   Taster_WiserRoom-9 09_Gaestezimmer
     2021-11-21 13:59:55   globaleSzenen   Home Away Sleep
     2021-11-21 13:59:56   lokaleSzenen    Bad_OG_down,Bad_OG_up,WZ_down,WZ_up,Buero_down,Buero_up,GZ_down,GZ_up,KZ_down,KZ_up,SZ_down,SZ_up
   REQUEST:
     context    get
     data       
     header     Content-Type: application/json
     ignoreredirects 0
     num        07
     retryCount 0
     type       get07
     url        http://Merten-Home-Touch/ocf/wlan0
   defptr:
     readingBase:
       HomeTouch_STATE get
       Taster_OpenLevel-1 get
       Taster_OpenLevel-10 get
       Taster_OpenLevel-11 get
       Taster_OpenLevel-12 get
       Taster_OpenLevel-13 get
       Taster_OpenLevel-14 get
       Taster_OpenLevel-2 get
       Taster_OpenLevel-3 get
       Taster_OpenLevel-4 get
       Taster_OpenLevel-5 get
       Taster_OpenLevel-6 get
       Taster_OpenLevel-7 get
       Taster_OpenLevel-8 get
       Taster_OpenLevel-9 get
       Taster_WiserLink-1 get
       Taster_WiserLink-10 get
       Taster_WiserLink-11 get
       Taster_WiserLink-12 get
       Taster_WiserLink-13 get
       Taster_WiserLink-14 get
       Taster_WiserLink-2 get
       Taster_WiserLink-3 get
       Taster_WiserLink-4 get
       Taster_WiserLink-5 get
       Taster_WiserLink-6 get
       Taster_WiserLink-7 get
       Taster_WiserLink-8 get
       Taster_WiserLink-9 get
       Taster_WiserName-1 get
       Taster_WiserName-10 get
       Taster_WiserName-11 get
       Taster_WiserName-12 get
       Taster_WiserName-13 get
       Taster_WiserName-14 get
       Taster_WiserName-2 get
       Taster_WiserName-3 get
       Taster_WiserName-4 get
       Taster_WiserName-5 get
       Taster_WiserName-6 get
       Taster_WiserName-7 get
       Taster_WiserName-8 get
       Taster_WiserName-9 get
       Taster_WiserRoom-1 get
       Taster_WiserRoom-10 get
       Taster_WiserRoom-11 get
       Taster_WiserRoom-12 get
       Taster_WiserRoom-13 get
       Taster_WiserRoom-14 get
       Taster_WiserRoom-2 get
       Taster_WiserRoom-3 get
       Taster_WiserRoom-4 get
       Taster_WiserRoom-5 get
       Taster_WiserRoom-6 get
       Taster_WiserRoom-7 get
       Taster_WiserRoom-8 get
       Taster_WiserRoom-9 get
       globaleSzenen get
       lokaleSzenen get
     readingNum:
       HomeTouch_STATE 07
       Taster_OpenLevel-1 02
       Taster_OpenLevel-10 02
       Taster_OpenLevel-11 02
       Taster_OpenLevel-12 02
       Taster_OpenLevel-13 02
       Taster_OpenLevel-14 02
       Taster_OpenLevel-2 02
       Taster_OpenLevel-3 02
       Taster_OpenLevel-4 02
       Taster_OpenLevel-5 02
       Taster_OpenLevel-6 02
       Taster_OpenLevel-7 02
       Taster_OpenLevel-8 02
       Taster_OpenLevel-9 02
       Taster_WiserLink-1 01
       Taster_WiserLink-10 01
       Taster_WiserLink-11 01
       Taster_WiserLink-12 01
       Taster_WiserLink-13 01
       Taster_WiserLink-14 01
       Taster_WiserLink-2 01
       Taster_WiserLink-3 01
       Taster_WiserLink-4 01
       Taster_WiserLink-5 01
       Taster_WiserLink-6 01
       Taster_WiserLink-7 01
       Taster_WiserLink-8 01
       Taster_WiserLink-9 01
       Taster_WiserName-1 04
       Taster_WiserName-10 04
       Taster_WiserName-11 04
       Taster_WiserName-12 04
       Taster_WiserName-13 04
       Taster_WiserName-14 04
       Taster_WiserName-2 04
       Taster_WiserName-3 04
       Taster_WiserName-4 04
       Taster_WiserName-5 04
       Taster_WiserName-6 04
       Taster_WiserName-7 04
       Taster_WiserName-8 04
       Taster_WiserName-9 04
       Taster_WiserRoom-1 03
       Taster_WiserRoom-10 03
       Taster_WiserRoom-11 03
       Taster_WiserRoom-12 03
       Taster_WiserRoom-13 03
       Taster_WiserRoom-14 03
       Taster_WiserRoom-2 03
       Taster_WiserRoom-3 03
       Taster_WiserRoom-4 03
       Taster_WiserRoom-5 03
       Taster_WiserRoom-6 03
       Taster_WiserRoom-7 03
       Taster_WiserRoom-8 03
       Taster_WiserRoom-9 03
       globaleSzenen 05
       lokaleSzenen 06
     readingOutdated:
     readingSubNum:
       Taster_OpenLevel-1 -1
       Taster_OpenLevel-10 -10
       Taster_OpenLevel-11 -11
       Taster_OpenLevel-12 -12
       Taster_OpenLevel-13 -13
       Taster_OpenLevel-14 -14
       Taster_OpenLevel-2 -2
       Taster_OpenLevel-3 -3
       Taster_OpenLevel-4 -4
       Taster_OpenLevel-5 -5
       Taster_OpenLevel-6 -6
       Taster_OpenLevel-7 -7
       Taster_OpenLevel-8 -8
       Taster_OpenLevel-9 -9
       Taster_WiserLink-1 -1
       Taster_WiserLink-10 -10
       Taster_WiserLink-11 -11
       Taster_WiserLink-12 -12
       Taster_WiserLink-13 -13
       Taster_WiserLink-14 -14
       Taster_WiserLink-2 -2
       Taster_WiserLink-3 -3
       Taster_WiserLink-4 -4
       Taster_WiserLink-5 -5
       Taster_WiserLink-6 -6
       Taster_WiserLink-7 -7
       Taster_WiserLink-8 -8
       Taster_WiserLink-9 -9
       Taster_WiserName-1 -1
       Taster_WiserName-10 -10
       Taster_WiserName-11 -11
       Taster_WiserName-12 -12
       Taster_WiserName-13 -13
       Taster_WiserName-14 -14
       Taster_WiserName-2 -2
       Taster_WiserName-3 -3
       Taster_WiserName-4 -4
       Taster_WiserName-5 -5
       Taster_WiserName-6 -6
       Taster_WiserName-7 -7
       Taster_WiserName-8 -8
       Taster_WiserName-9 -9
       Taster_WiserRoom-1 -1
       Taster_WiserRoom-10 -10
       Taster_WiserRoom-11 -11
       Taster_WiserRoom-12 -12
       Taster_WiserRoom-13 -13
       Taster_WiserRoom-14 -14
       Taster_WiserRoom-2 -2
       Taster_WiserRoom-3 -3
       Taster_WiserRoom-4 -4
       Taster_WiserRoom-5 -5
       Taster_WiserRoom-6 -6
       Taster_WiserRoom-7 -7
       Taster_WiserRoom-8 -8
       Taster_WiserRoom-9 -9
     requestReadings:
       get01:
         Taster_WiserLink-1 get 01-1
         Taster_WiserLink-10 get 01-10
         Taster_WiserLink-11 get 01-11
         Taster_WiserLink-12 get 01-12
         Taster_WiserLink-13 get 01-13
         Taster_WiserLink-14 get 01-14
         Taster_WiserLink-2 get 01-2
         Taster_WiserLink-3 get 01-3
         Taster_WiserLink-4 get 01-4
         Taster_WiserLink-5 get 01-5
         Taster_WiserLink-6 get 01-6
         Taster_WiserLink-7 get 01-7
         Taster_WiserLink-8 get 01-8
         Taster_WiserLink-9 get 01-9
       get02:
         Taster_OpenLevel-1 get 02-1
         Taster_OpenLevel-10 get 02-10
         Taster_OpenLevel-11 get 02-11
         Taster_OpenLevel-12 get 02-12
         Taster_OpenLevel-13 get 02-13
         Taster_OpenLevel-14 get 02-14
         Taster_OpenLevel-2 get 02-2
         Taster_OpenLevel-3 get 02-3
         Taster_OpenLevel-4 get 02-4
         Taster_OpenLevel-5 get 02-5
         Taster_OpenLevel-6 get 02-6
         Taster_OpenLevel-7 get 02-7
         Taster_OpenLevel-8 get 02-8
         Taster_OpenLevel-9 get 02-9
       get03:
         Taster_WiserRoom-1 get 03-1
         Taster_WiserRoom-10 get 03-10
         Taster_WiserRoom-11 get 03-11
         Taster_WiserRoom-12 get 03-12
         Taster_WiserRoom-13 get 03-13
         Taster_WiserRoom-14 get 03-14
         Taster_WiserRoom-2 get 03-2
         Taster_WiserRoom-3 get 03-3
         Taster_WiserRoom-4 get 03-4
         Taster_WiserRoom-5 get 03-5
         Taster_WiserRoom-6 get 03-6
         Taster_WiserRoom-7 get 03-7
         Taster_WiserRoom-8 get 03-8
         Taster_WiserRoom-9 get 03-9
       get04:
         Taster_WiserName-1 get 04-1
         Taster_WiserName-10 get 04-10
         Taster_WiserName-11 get 04-11
         Taster_WiserName-12 get 04-12
         Taster_WiserName-13 get 04-13
         Taster_WiserName-14 get 04-14
         Taster_WiserName-2 get 04-2
         Taster_WiserName-3 get 04-3
         Taster_WiserName-4 get 04-4
         Taster_WiserName-5 get 04-5
         Taster_WiserName-6 get 04-6
         Taster_WiserName-7 get 04-7
         Taster_WiserName-8 get 04-8
         Taster_WiserName-9 get 04-9
       get05:
         globaleSzenen get 05
       get06:
         lokaleSzenen get 06
       get07:
         HomeTouch_STATE get 07
   lastpoll:
     HomeTouch_STATE 1637499591.57388
     Taster_OpenLevel 1637499591.57388
     Taster_WiserLink 1637499591.57388
     Taster_WiserName 1637499591.57388
     Taster_WiserRoom 1637499591.57388
     globaleSzenen 1637499591.57388
     lokaleSzenen 1637499591.57388
Attributes:
   alias      HomeTouch
   enableControlSet 1
   get01Name  Taster_WiserLink
   get01RegOpt g
   get01Regex \/(wlss[0-9]*)
   get01URL   http://Merten-Home-Touch/ocf/oic/res
   get02Name  Taster_OpenLevel
   get02RegOpt g
   get02Regex "openLevel":[ \t]+([\d]+)
   get03Name  Taster_WiserRoom
   get03RegOpt g
   get03Regex "wiserone\.room":[ \t]+"([\d]+_[\w]+_*[\w]*)"
   get04Name  Taster_WiserName
   get04RegOpt g
   get04Regex "n":[ \t]+"([\w]*[\s\d]*)"
   get05JSON  sceneValues
   get05Name  globaleSzenen
   get05Poll  1
   get05RecombineExpr join " ", @matchlist
   get05URL   http://Merten-Home-Touch/ocf/sceneCollection/0
   get06JSON  sceneValues
   get06Name  lokaleSzenen
   get06Poll  1
   get06RecombineExpr join ",", @matchlist
   get06URL   http://Merten-Home-Touch/ocf/sceneCollection/1
   get07JSON  networkAuthentication
   get07Name  HomeTouch_STATE
   get07URL   http://Merten-Home-Touch/ocf/wlan0
   getHeader1 Content-Type: application/json
   getPoll    1
   getURL     http://Merten-Home-Touch/ocf/deviceStatus
   httpVersion 1.1
   icon       hm-tc-it-wm-w-eu
   readingMaxAge 300
   readingMaxAgeReplacement "offline"
   readingMaxAgeReplacementMode text
   replacement03Mode reading
   replacement03Regex %Taster_URL%
   replacement03Value Taster_URL
   room       SYSTEM,WISER
   set01Data  {"isIrrelevant": false,"lastScene": "$val"}
   set01Name  setGlobaleSzenen
   set01TextArg 1
   set01URL   http://Merten-Home-Touch/ocf/sceneCollection/0
   set02Data  {"isIrrelevant": false,"lastScene": "$val"}
   set02Name  setLokaleSzenen
   set02TextArg 1
   set02URL   http://Merten-Home-Touch/ocf/sceneCollection/1
   set03Data  {"action" : $val}
   set03Hint  0,1,2
   set03Name  Taster
   set03URL   %Taster_URL%
   stateFormat HomeTouch_STATE
   userReadings Taster_URL
   userattr   get01Decode get01JSON get01Poll:0,1 get01RecombineExpr get01extractAllJSON:0,1,2 get02ExtractAllJSON:0,1,2 get02JSON get02Poll:0,1 get02RecombineExpr get02URL get03Poll:0,1 get03RecombineExpr get03URL reading03Name set01Hint set02Hint set03IMap set03replacement03Value set04Name set04TextArg:0,1
   verbose    0


Dabei werden mit get05 und get06 Werte ausgelesen und gruppiert (join ",", @matchlist).

Ergbnisse/Readings:
globaleSzenen: Home Away Sleep
   
lokaleSzenen: Bad_OG_down,Bad_OG_up,WZ_down,WZ_up,Buero_down,Buero_up,GZ_down,GZ_up,KZ_down,KZ_up,SZ_down,SZ_up


Jetzt habe ich mit set01 und set02 zwei URLs, die ich auch in der setListe zur Auswahl habe... aber dann wird ein Freitextfeld als %val angezeigt und dieser Value in die URL übergeben.

Die erste Frage wäre jetzt, ich habe ja in den Readings "globaleSzenen" und "lokaleSzenen" genau die Values, die ich übergeben möchte bzw. die ich nur übergeben kann.
Kann ich die nicht gleich oben im Set als Parameter einbauen?!



Meine zweite Frage wäre, ich habe diverse Readings (alle Taster*-Readings) die an unterschiedlichen Stellen in einem JSON Baum stehen. Das heißt, ich kann die nicht alles mit einem RegExp erwischen... kann man diese Werte aber auch irgendwie gruppieren?!

Gibts eine Möglichkeit zwei Value in eine URL zu Übergeben?!

Bei
set01URL   http://Merten-Home-Touch/ocf/sceneCollection/0
   set02Data  {"isIrrelevant": false,"lastScene": "$val"}

Kann ich einen Value übergeben... aber ich habe eine URL, wo ich quasi den Taster auswählen und dann den Wert übergeben muss.

Alternativ beibt mir nur für jeden Rollladentaster ein setURL einzubauen... das wollte ich aber irgendwie flexibler/intelligenter machen...


VG+Danke
Rene

StefanStrobel

Hallo Rene,

Mit Replacements kannst Du beliebige Dinge, auch mehrere Redings in Requests einbauen.
Wenn Du mehrere Regexes auf eine Antwort anwenden möchtest, dann geht das über die Attribute readingXYname etc. und get[0-9]*CheckAllReadings


Gruß
     Stefan

fireball

Hallo Stefan,

ich glaub ich versteh was du meinst, aber so richtig machts nicht klick... viell. kannst du mir unter die Arme greifen, damit ich das erste get hinbekomme...
ich fasse mal zusammen:

Ich bau mir in meinem Fall !!ein!!
   getURL     http://merten-home-touch/ocf/deviceStatus
da ich aus dieser Datei alles extrahieren muss. (siehe Anhang, einmal als JSON Datei und einmal ein list Device mit extractAllJSON

Das sind alle meine Jalousieschalter,  mit allen Infos... 3 JSON "Blöcke" ergeben immer alle Infos zu einem Jalousieschalter.
zB für den ersten Schalter "wlss31"

2021-11-21 18:24:50   01_href         /wlss31/openLevel
     2021-11-21 18:24:50   01_rep_if_0     oic.if.baseline
     2021-11-21 18:24:50   01_rep_openLevel 0
     2021-11-21 18:24:50   01_rep_range_0  0
     2021-11-21 18:24:50   01_rep_range_1  100
     2021-11-21 18:24:50   01_rep_rt_0     oic.r.openlevel
     2021-11-21 18:24:50   01_rep_step     1
     2021-11-21 18:24:50   02_href         /wlss31/oic/con
     2021-11-21 18:24:50   02_rep_if_0     oic.if.baseline
     2021-11-21 18:24:50   02_rep_n        Rollladen 2
     2021-11-21 18:24:50   02_rep_rt_0     oic.wk.con
     2021-11-21 18:24:50   02_rep_wiserone.room 17_WZ
     2021-11-21 18:24:50   03_href         /wlss31/shutter/1
     2021-11-21 18:24:50   03_rep_action   1
     2021-11-21 18:24:50   03_rep_if_0     oic.if.baseline
     2021-11-21 18:24:50   03_rep_if_1     oic.if.a
     2021-11-21 18:24:50   03_rep_rt_0     wiserone.r.window.cover


Ich würde dann weiter für den ersten Jalousieschalter
   get01Name  Taster 1
   get01CheckAllReadings
   readings01-1Name Status
   readings01-1JSON /wlss31/openLevel: 01_rep_openLevel
   readings01-2Name Name
   readings01-2JSON /wlss31/oic/con : 02_rep_n     
   readings01-3Name Raum
   readings01-3JSON /wlss31/oic/con : 02_rep_wiserone.room


Wäre das der richtige Weg?
Da sich alle Schlüsselwörter wiederholen in der Datei, weiß ich gar nicht wie ich das im JSON angeben soll... kann man das irgendwie als "Pfad" angeben?! Ich habe oben im Bsp einfach mal einen Doppelpunkt als Trennzeichen genommen.

VG+Danke
René





StefanStrobel

Hallo Rene,

mach einfach zunächst mal einen Versuch mit extractAllJSON 2, dann erzeugt Dir das Modul die entsprechenden Attribute.

Aus der Commandref:
Zitat
Another option is setting extractAllJSON or get01ExtractAllJSON to 2. In this case the module analyzes the JSON data when it is first read, creates readingXXName and readingXXJSON attributes for you and then removes the extractAllJSON attribute.

Gruss
   Stefan

fireball

Hi Stefan,

das hatte ich bereits mal geamcht, aber sieh selber...
Die readingsXXXName / readingsXXXJSON werden hochgezähtl... aber sind so für mich aktuell völlig sinnfrei, weil ich keinen Anhaltspunkt habe, was zu was gehört...

[code]Internals:
   BUSY       0
   DEF        http://merten-home-touch/ocf/deviceStatus 10
   FUUID      61916189-f33f-0804-7492-370aa15451ffcab2
   Interval   10
   MainURL    http://merten-home-touch/ocf/deviceStatus
   ModuleVersion 4.1.10 - 6.7.2021
   NAME       HT1
   NOTIFYDEV  global
   NR         622
   NTFY_ORDER 50-HT1
   STATE      ???
   TYPE       HTTPMOD
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       http://merten-home-touch:80
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       
     displayurl http://merten-home-touch/ocf/deviceStatus
     header     
     host       Merten-Home-Touch
     httpheader HTTP/1.1 200 OK
Server: nginx/1.11.5
Date: Tue, 23 Nov 2021 21:22:42 GMT
Content-Type: application/json
Content-Length: 6108
Connection: close
Strict-Transport-Security: max-age=63072000; includeSubDomains; preload
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    80
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /ocf/deviceStatus
     protocol   http
     redirects  0
     timeout    2
     url        http://merten-home-touch/ocf/deviceStatus
     sslargs:
   OLDREADINGS:
   QUEUE:
   READINGS:
     2021-11-23 22:22:42   01_href         /wlss31/openLevel
     2021-11-23 22:22:42   01_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   01_rep_openLevel 0
     2021-11-23 22:22:42   01_rep_range_0  0
     2021-11-23 22:22:42   01_rep_range_1  100
     2021-11-23 22:22:42   01_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   01_rep_step     1
     2021-11-23 22:22:42   02_href         /wlss31/oic/con
     2021-11-23 22:22:42   02_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   02_rep_n        Rollladen 2
     2021-11-23 22:22:42   02_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   02_rep_wiserone.room 17_WZ
     2021-11-23 22:22:42   03_href         /wlss31/shutter/1
     2021-11-23 22:22:42   03_rep_action   1
     2021-11-23 22:22:42   03_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   03_rep_if_1     oic.if.a
     2021-11-23 22:22:42   03_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   04_href         /wlss32/openLevel
     2021-11-23 22:22:42   04_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   04_rep_openLevel 0
     2021-11-23 22:22:42   04_rep_range_0  0
     2021-11-23 22:22:42   04_rep_range_1  100
     2021-11-23 22:22:42   04_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   04_rep_step     1
     2021-11-23 22:22:42   05_href         /wlss32/oic/con
     2021-11-23 22:22:42   05_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   05_rep_n        Kueche
     2021-11-23 22:22:42   05_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   05_rep_wiserone.room 17_WZ
     2021-11-23 22:22:42   06_href         /wlss32/shutter/1
     2021-11-23 22:22:42   06_rep_action   1
     2021-11-23 22:22:42   06_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   06_rep_if_1     oic.if.a
     2021-11-23 22:22:42   06_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   07_href         /wlss37/openLevel
     2021-11-23 22:22:42   07_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   07_rep_openLevel 0
     2021-11-23 22:22:42   07_rep_range_0  0
     2021-11-23 22:22:42   07_rep_range_1  100
     2021-11-23 22:22:42   07_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   07_rep_step     1
     2021-11-23 22:22:42   08_href         /wlss37/oic/con
     2021-11-23 22:22:42   08_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   08_rep_n        Rollladen 1
     2021-11-23 22:22:42   08_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   08_rep_wiserone.room 17_WZ
     2021-11-23 22:22:42   09_href         /wlss37/shutter/1
     2021-11-23 22:22:42   09_rep_action   1
     2021-11-23 22:22:42   09_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   09_rep_if_1     oic.if.a
     2021-11-23 22:22:42   09_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   10_href         /wlss39/openLevel
     2021-11-23 22:22:42   10_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   10_rep_openLevel 0
     2021-11-23 22:22:42   10_rep_range_0  0
     2021-11-23 22:22:42   10_rep_range_1  100
     2021-11-23 22:22:42   10_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   10_rep_step     1
     2021-11-23 22:22:42   11_href         /wlss39/oic/con
     2021-11-23 22:22:42   11_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   11_rep_n        Rollladen
     2021-11-23 22:22:42   11_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   11_rep_wiserone.room 04_Bad_Unten
     2021-11-23 22:22:42   12_href         /wlss39/shutter/1
     2021-11-23 22:22:42   12_rep_action   1
     2021-11-23 22:22:42   12_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   12_rep_if_1     oic.if.a
     2021-11-23 22:22:42   12_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   13_href         /wlss42/openLevel
     2021-11-23 22:22:42   13_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   13_rep_openLevel 0
     2021-11-23 22:22:42   13_rep_range_0  0
     2021-11-23 22:22:42   13_rep_range_1  100
     2021-11-23 22:22:42   13_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   13_rep_step     1
     2021-11-23 22:22:42   14_href         /wlss42/oic/con
     2021-11-23 22:22:42   14_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   14_rep_n        Rollladen 1
     2021-11-23 22:22:42   14_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   14_rep_wiserone.room 23_Buero
     2021-11-23 22:22:42   15_href         /wlss42/shutter/1
     2021-11-23 22:22:42   15_rep_action   1
     2021-11-23 22:22:42   15_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   15_rep_if_1     oic.if.a
     2021-11-23 22:22:42   15_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   16_href         /wlss44/openLevel
     2021-11-23 22:22:42   16_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   16_rep_openLevel 0
     2021-11-23 22:22:42   16_rep_range_0  0
     2021-11-23 22:22:42   16_rep_range_1  100
     2021-11-23 22:22:42   16_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   16_rep_step     1
     2021-11-23 22:22:42   17_href         /wlss44/oic/con
     2021-11-23 22:22:42   17_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   17_rep_n        Rollladen 2
     2021-11-23 22:22:42   17_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   17_rep_wiserone.room 23_Buero
     2021-11-23 22:22:42   18_href         /wlss44/shutter/1
     2021-11-23 22:22:42   18_rep_action   1
     2021-11-23 22:22:42   18_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   18_rep_if_1     oic.if.a
     2021-11-23 22:22:42   18_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   19_href         /wlss47/openLevel
     2021-11-23 22:22:42   19_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   19_rep_openLevel 0
     2021-11-23 22:22:42   19_rep_range_0  0
     2021-11-23 22:22:42   19_rep_range_1  100
     2021-11-23 22:22:42   19_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   19_rep_step     1
     2021-11-23 22:22:42   20_href         /wlss47/oic/con
     2021-11-23 22:22:42   20_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   20_rep_n        Rollladen 1
     2021-11-23 22:22:42   20_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   20_rep_wiserone.room 06_SZ
     2021-11-23 22:22:42   21_href         /wlss47/shutter/1
     2021-11-23 22:22:42   21_rep_action   1
     2021-11-23 22:22:42   21_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   21_rep_if_1     oic.if.a
     2021-11-23 22:22:42   21_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   22_href         /wlss49/openLevel
     2021-11-23 22:22:42   22_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   22_rep_openLevel 0
     2021-11-23 22:22:42   22_rep_range_0  0
     2021-11-23 22:22:42   22_rep_range_1  100
     2021-11-23 22:22:42   22_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   22_rep_step     1
     2021-11-23 22:22:42   23_href         /wlss49/oic/con
     2021-11-23 22:22:42   23_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   23_rep_n        Rollladen 2
     2021-11-23 22:22:42   23_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   23_rep_wiserone.room 06_SZ
     2021-11-23 22:22:42   24_href         /wlss49/shutter/1
     2021-11-23 22:22:42   24_rep_action   1
     2021-11-23 22:22:42   24_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   24_rep_if_1     oic.if.a
     2021-11-23 22:22:42   24_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   25_href         /wlss51/openLevel
     2021-11-23 22:22:42   25_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   25_rep_openLevel 0
     2021-11-23 22:22:42   25_rep_range_0  0
     2021-11-23 22:22:42   25_rep_range_1  100
     2021-11-23 22:22:42   25_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   25_rep_step     1
     2021-11-23 22:22:42   26_href         /wlss51/oic/con
     2021-11-23 22:22:42   26_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   26_rep_n        Rollladen 1
     2021-11-23 22:22:42   26_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   26_rep_wiserone.room 09_Gaestezimmer
     2021-11-23 22:22:42   27_href         /wlss51/shutter/1
     2021-11-23 22:22:42   27_rep_action   1
     2021-11-23 22:22:42   27_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   27_rep_if_1     oic.if.a
     2021-11-23 22:22:42   27_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   28_href         /wlss68/openLevel
     2021-11-23 22:22:42   28_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   28_rep_openLevel 0
     2021-11-23 22:22:42   28_rep_range_0  0
     2021-11-23 22:22:42   28_rep_range_1  100
     2021-11-23 22:22:42   28_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   28_rep_step     1
     2021-11-23 22:22:42   29_href         /wlss68/oic/con
     2021-11-23 22:22:42   29_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   29_rep_n        Rollladen 1
     2021-11-23 22:22:42   29_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   29_rep_wiserone.room 09_KZ
     2021-11-23 22:22:42   30_href         /wlss68/shutter/1
     2021-11-23 22:22:42   30_rep_action   1
     2021-11-23 22:22:42   30_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   30_rep_if_1     oic.if.a
     2021-11-23 22:22:42   30_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   31_href         /wlss70/openLevel
     2021-11-23 22:22:42   31_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   31_rep_openLevel 0
     2021-11-23 22:22:42   31_rep_range_0  0
     2021-11-23 22:22:42   31_rep_range_1  100
     2021-11-23 22:22:42   31_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   31_rep_step     1
     2021-11-23 22:22:42   32_href         /wlss70/oic/con
     2021-11-23 22:22:42   32_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   32_rep_n        Rollladen 2
     2021-11-23 22:22:42   32_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   32_rep_wiserone.room 09_KZ
     2021-11-23 22:22:42   33_href         /wlss70/shutter/1
     2021-11-23 22:22:42   33_rep_action   1
     2021-11-23 22:22:42   33_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   33_rep_if_1     oic.if.a
     2021-11-23 22:22:42   33_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   34_href         /wlss97/openLevel
     2021-11-23 22:22:42   34_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   34_rep_openLevel 0
     2021-11-23 22:22:42   34_rep_range_0  0
     2021-11-23 22:22:42   34_rep_range_1  100
     2021-11-23 22:22:42   34_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   34_rep_step     1
     2021-11-23 22:22:42   35_href         /wlss97/oic/con
     2021-11-23 22:22:42   35_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   35_rep_n        Terrasse
     2021-11-23 22:22:42   35_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   35_rep_wiserone.room 17_WZ
     2021-11-23 22:22:42   36_href         /wlss97/shutter/1
     2021-11-23 22:22:42   36_rep_action   1
     2021-11-23 22:22:42   36_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   36_rep_if_1     oic.if.a
     2021-11-23 22:22:42   36_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   37_href         /wlss99/openLevel
     2021-11-23 22:22:42   37_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   37_rep_openLevel 0
     2021-11-23 22:22:42   37_rep_range_0  0
     2021-11-23 22:22:42   37_rep_range_1  100
     2021-11-23 22:22:42   37_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   37_rep_step     1
     2021-11-23 22:22:42   38_href         /wlss99/oic/con
     2021-11-23 22:22:42   38_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   38_rep_n        Rollladen 2
     2021-11-23 22:22:42   38_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   38_rep_wiserone.room 09_Gaestezimmer
     2021-11-23 22:22:42   39_href         /wlss99/shutter/1
     2021-11-23 22:22:42   39_rep_action   1
     2021-11-23 22:22:42   39_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   39_rep_if_1     oic.if.a
     2021-11-23 22:22:42   39_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   40_href         /wlss102/openLevel
     2021-11-23 22:22:42   40_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   40_rep_openLevel 0
     2021-11-23 22:22:42   40_rep_range_0  0
     2021-11-23 22:22:42   40_rep_range_1  100
     2021-11-23 22:22:42   40_rep_rt_0     oic.r.openlevel
     2021-11-23 22:22:42   40_rep_step     1
     2021-11-23 22:22:42   41_href         /wlss102/oic/con
     2021-11-23 22:22:42   41_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   41_rep_n        Rollladen
     2021-11-23 22:22:42   41_rep_rt_0     oic.wk.con
     2021-11-23 22:22:42   41_rep_wiserone.room 04_Bad_Oben
     2021-11-23 22:22:42   42_href         /wlss102/shutter/1
     2021-11-23 22:22:42   42_rep_action   1
     2021-11-23 22:22:42   42_rep_if_0     oic.if.baseline
     2021-11-23 22:22:42   42_rep_if_1     oic.if.a
     2021-11-23 22:22:42   42_rep_rt_0     wiserone.r.window.cover
     2021-11-23 22:22:42   wlss31_         1
   REQUEST:
     context    get
     data       
     header     
     ignoreredirects 0
     num        02
     retryCount 0
     type       get02
     url        http://merten-home-touch/ocf/deviceStatus
   defptr:
     readingBase:
       01_href    reading
       01_rep_if_0 reading
       01_rep_openLevel reading
       01_rep_range_0 reading
       01_rep_range_1 reading
       01_rep_rt_0 reading
       01_rep_step reading
       02_href    reading
       02_rep_if_0 reading
       02_rep_n   reading
       02_rep_rt_0 reading
       02_rep_wiserone.room reading
       03_href    reading
       03_rep_action reading
       03_rep_if_0 reading
       03_rep_if_1 reading
       03_rep_rt_0 reading
       04_href    reading
       04_rep_if_0 reading
       04_rep_openLevel reading
       04_rep_range_0 reading
       04_rep_range_1 reading
       04_rep_rt_0 reading
       04_rep_step reading
       05_href    reading
       05_rep_if_0 reading
       05_rep_n   reading
       05_rep_rt_0 reading
       05_rep_wiserone.room reading
       06_href    reading
       06_rep_action reading
       06_rep_if_0 reading
       06_rep_if_1 reading
       06_rep_rt_0 reading
       07_href    reading
       07_rep_if_0 reading
       07_rep_openLevel reading
       07_rep_range_0 reading
       07_rep_range_1 reading
       07_rep_rt_0 reading
       07_rep_step reading
       08_href    reading
       08_rep_if_0 reading
       08_rep_n   reading
       08_rep_rt_0 reading
       08_rep_wiserone.room reading
       09_href    reading
       09_rep_action reading
       09_rep_if_0 reading
       09_rep_if_1 reading
       09_rep_rt_0 reading
       10_href    reading
       10_rep_if_0 reading
       10_rep_openLevel reading
       10_rep_range_0 reading
       10_rep_range_1 reading
       10_rep_rt_0 reading
       10_rep_step reading
       11_href    reading
       11_rep_if_0 reading
       11_rep_n   reading
       11_rep_rt_0 reading
       11_rep_wiserone.room reading
       12_href    reading
       12_rep_action reading
       12_rep_if_0 reading
       12_rep_if_1 reading
       12_rep_rt_0 reading
       13_href    reading
       13_rep_if_0 reading
       13_rep_openLevel reading
       13_rep_range_0 reading
       13_rep_range_1 reading
       13_rep_rt_0 reading
       13_rep_step reading
       14_href    reading
       14_rep_if_0 reading
       14_rep_n   reading
       14_rep_rt_0 reading
       14_rep_wiserone.room reading
       15_href    reading
       15_rep_action reading
       15_rep_if_0 reading
       15_rep_if_1 reading
       15_rep_rt_0 reading
       16_href    reading
       16_rep_if_0 reading
       16_rep_openLevel reading
       16_rep_range_0 reading
       16_rep_range_1 reading
       16_rep_rt_0 reading
       16_rep_step reading
       17_href    reading
       17_rep_if_0 reading
       17_rep_n   reading
       17_rep_rt_0 reading
       17_rep_wiserone.room reading
       18_href    reading
       18_rep_action reading
       18_rep_if_0 reading
       18_rep_if_1 reading
       18_rep_rt_0 reading
       19_href    reading
       19_rep_if_0 reading
       19_rep_openLevel reading
       19_rep_range_0 reading
       19_rep_range_1 reading
       19_rep_rt_0 reading
       19_rep_step reading
       20_href    reading
       20_rep_if_0 reading
       20_rep_n   reading
       20_rep_rt_0 reading
       20_rep_wiserone.room reading
       21_href    reading
       21_rep_action reading
       21_rep_if_0 reading
       21_rep_if_1 reading
       21_rep_rt_0 reading
       22_href    reading
       22_rep_if_0 reading
       22_rep_openLevel reading
       22_rep_range_0 reading
       22_rep_range_1 reading
       22_rep_rt_0 reading
       22_rep_step reading
       23_href    reading
       23_rep_if_0 reading
       23_rep_n   reading
       23_rep_rt_0 reading
       23_rep_wiserone.room reading
       24_href    reading
       24_rep_action reading
       24_rep_if_0 reading
       24_rep_if_1 reading
       24_rep_rt_0 reading
       25_href    reading
       25_rep_if_0 reading
       25_rep_openLevel reading
       25_rep_range_0 reading
       25_rep_range_1 reading
       25_rep_rt_0 reading
       25_rep_step reading
       26_href    reading
       26_rep_if_0 reading
       26_rep_n   reading
       26_rep_rt_0 reading
       26_rep_wiserone.room reading
       27_href    reading
       27_rep_action reading
       27_rep_if_0 reading
       27_rep_if_1 reading
       27_rep_rt_0 reading
       28_href    reading
       28_rep_if_0 reading
       28_rep_openLevel reading
       28_rep_range_0 reading
       28_rep_range_1 reading
       28_rep_rt_0 reading
       28_rep_step reading
       29_href    reading
       29_rep_if_0 reading
       29_rep_n   reading
       29_rep_rt_0 reading
       29_rep_wiserone.room reading
       30_href    reading
       30_rep_action reading
       30_rep_if_0 reading
       30_rep_if_1 reading
       30_rep_rt_0 reading
       31_href    reading
       31_rep_if_0 reading
       31_rep_openLevel reading
       31_rep_range_0 reading
       31_rep_range_1 reading
       31_rep_rt_0 reading
       31_rep_step reading
       32_href    reading
       32_rep_if_0 reading
       32_rep_n   reading
       32_rep_rt_0 reading
       32_rep_wiserone.room reading
       33_href    reading
       33_rep_action reading
       33_rep_if_0 reading
       33_rep_if_1 reading
       33_rep_rt_0 reading
       34_href    reading
       34_rep_if_0 reading
       34_rep_openLevel reading
       34_rep_range_0 reading
       34_rep_range_1 reading
       34_rep_rt_0 reading
       34_rep_step reading
       35_href    reading
       35_rep_if_0 reading
       35_rep_n   reading
       35_rep_rt_0 reading
       35_rep_wiserone.room reading
       36_href    reading
       36_rep_action reading
       36_rep_if_0 reading
       36_rep_if_1 reading
       36_rep_rt_0 reading
       37_href    reading
       37_rep_if_0 reading
       37_rep_openLevel reading
       37_rep_range_0 reading
       37_rep_range_1 reading
       37_rep_rt_0 reading
       37_rep_step reading
       38_href    reading
       38_rep_if_0 reading
       38_rep_n   reading
       38_rep_rt_0 reading
       38_rep_wiserone.room reading
       39_href    reading
       39_rep_action reading
       39_rep_if_0 reading
       39_rep_if_1 reading
       39_rep_rt_0 reading
       40_href    reading
       40_rep_if_0 reading
       40_rep_openLevel reading
       40_rep_range_0 reading
       40_rep_range_1 reading
       40_rep_rt_0 reading
       40_rep_step reading
       41_href    reading
       41_rep_if_0 reading
       41_rep_n   reading
       41_rep_rt_0 reading
       41_rep_wiserone.room reading
       42_href    reading
       42_rep_action reading
       42_rep_if_0 reading
       42_rep_if_1 reading
       42_rep_rt_0 reading
       wlss31_    get
     readingNum:
       01_href    332
       01_rep_if_0 134
       01_rep_openLevel 140
       01_rep_range_0 328
       01_rep_range_1 310
       01_rep_rt_0 143
       01_rep_step 295
       02_href    300
       02_rep_if_0 108
       02_rep_n   202
       02_rep_rt_0 124
       02_rep_wiserone.room 117
       03_href    135
       03_rep_action 128
       03_rep_if_0 331
       03_rep_if_1 121
       03_rep_rt_0 336
       04_href    105
       04_rep_if_0 296
       04_rep_openLevel 316
       04_rep_range_0 100
       04_rep_range_1 145
       04_rep_rt_0 304
       04_rep_step 136
       05_href    301
       05_rep_if_0 107
       05_rep_n   205
       05_rep_rt_0 126
       05_rep_wiserone.room 120
       06_href    313
       06_rep_action 318
       06_rep_if_0 116
       06_rep_if_1 327
       06_rep_rt_0 102
       07_href    199
       07_rep_if_0 261
       07_rep_openLevel 277
       07_rep_range_0 189
       07_rep_range_1 169
       07_rep_rt_0 288
       07_rep_step 149
       08_href    113
       08_rep_if_0 308
       08_rep_n   259
       08_rep_rt_0 294
       08_rep_wiserone.room 303
       09_href    309
       09_rep_action 321
       09_rep_if_0 112
       09_rep_if_1 324
       09_rep_rt_0 106
       10_href    320
       10_rep_if_0 122
       10_rep_openLevel 101
       10_rep_range_0 317
       10_rep_range_1 326
       10_rep_rt_0 110
       10_rep_step 334
       11_href    223
       11_rep_if_0 154
       11_rep_n   144
       11_rep_rt_0 166
       11_rep_wiserone.room 175
       12_href    255
       12_rep_action 263
       12_rep_if_0 182
       12_rep_if_1 239
       12_rep_rt_0 210
       13_href    151
       13_rep_if_0 225
       13_rep_openLevel 247
       13_rep_range_0 146
       13_rep_range_1 219
       13_rep_rt_0 241
       13_rep_step 193
       14_href    200
       14_rep_if_0 260
       14_rep_n   314
       14_rep_rt_0 287
       14_rep_wiserone.room 276
       15_href    252
       15_rep_action 262
       15_rep_if_0 183
       15_rep_if_1 240
       15_rep_rt_0 206
       16_href    290
       16_rep_if_0 220
       16_rep_openLevel 180
       16_rep_range_0 285
       16_rep_range_1 226
       16_rep_rt_0 188
       16_rep_step 245
       17_href    104
       17_rep_if_0 297
       17_rep_n   291
       17_rep_rt_0 305
       17_rep_wiserone.room 315
       18_href    218
       18_rep_action 211
       18_rep_if_0 281
       18_rep_if_1 160
       18_rep_rt_0 269
       19_href    282
       19_rep_if_0 215
       19_rep_openLevel 185
       19_rep_range_0 292
       19_rep_range_1 222
       19_rep_rt_0 192
       19_rep_step 242
       20_href    333
       20_rep_if_0 142
       20_rep_n   163
       20_rep_rt_0 127
       20_rep_wiserone.room 132
       21_href    267
       21_rep_action 256
       21_rep_if_0 195
       21_rep_if_1 249
       21_rep_rt_0 217
       22_href    229
       22_rep_if_0 159
       22_rep_openLevel 170
       22_rep_range_0 233
       22_rep_range_1 270
       22_rep_rt_0 177
       22_rep_step 250
       23_href    198
       23_rep_if_0 264
       23_rep_n   311
       23_rep_rt_0 283
       23_rep_wiserone.room 274
       24_href    148
       24_rep_action 157
       24_rep_if_0 228
       24_rep_if_1 209
       24_rep_rt_0 238
       25_href    231
       25_rep_if_0 156
       25_rep_openLevel 174
       25_rep_range_0 236
       25_rep_range_1 272
       25_rep_rt_0 178
       25_rep_step 254
       26_href    246
       26_rep_if_0 168
       26_rep_n   137
       26_rep_rt_0 147
       26_rep_wiserone.room 162
       27_href    138
       27_rep_action 131
       27_rep_if_0 330
       27_rep_if_1 123
       27_rep_rt_0 337
       28_href    167
       28_rep_if_0 243
       28_rep_openLevel 234
       28_rep_range_0 171
       28_rep_range_1 190
       28_rep_rt_0 224
       28_rep_step 213
       29_href    244
       29_rep_if_0 165
       29_rep_n   133
       29_rep_rt_0 152
       29_rep_wiserone.room 164
       30_href    306
       30_rep_action 319
       30_rep_if_0 114
       30_rep_if_1 323
       30_rep_rt_0 103
       31_href    232
       31_rep_if_0 155
       31_rep_openLevel 173
       31_rep_range_0 235
       31_rep_range_1 273
       31_rep_rt_0 179
       31_rep_step 253
       32_href    265
       32_rep_if_0 196
       32_rep_n   118
       32_rep_rt_0 214
       32_rep_wiserone.room 203
       33_href    158
       33_rep_action 150
       33_rep_if_0 230
       33_rep_if_1 212
       33_rep_rt_0 248
       34_href    181
       34_rep_if_0 257
       34_rep_openLevel 289
       34_rep_range_0 186
       34_rep_range_1 176
       34_rep_rt_0 278
       34_rep_step 161
       35_href    268
       35_rep_if_0 194
       35_rep_n   119
       35_rep_rt_0 216
       35_rep_wiserone.room 204
       36_href    275
       36_rep_action 293
       36_rep_if_0 201
       36_rep_if_1 221
       36_rep_rt_0 187
       37_href    109
       37_rep_if_0 299
       37_rep_openLevel 312
       37_rep_range_0 111
       37_rep_range_1 139
       37_rep_rt_0 322
       37_rep_step 129
       38_href    207
       38_rep_if_0 280
       38_rep_n   302
       38_rep_rt_0 251
       38_rep_wiserone.room 258
       39_href    279
       39_rep_action 286
       39_rep_if_0 208
       39_rep_if_1 227
       39_rep_rt_0 184
       40_href    197
       40_rep_if_0 266
       40_rep_openLevel 271
       40_rep_range_0 191
       40_rep_range_1 172
       40_rep_rt_0 284
       40_rep_step 153
       41_href    141
       41_rep_if_0 335
       41_rep_n   237
       41_rep_rt_0 325
       41_rep_wiserone.room 329
       42_href    115
       42_rep_action 125
       42_rep_if_0 307
       42_rep_if_1 130
       42_rep_rt_0 298
       wlss31_    02
     readingOutdated:
     requestReadings:
       get01:
         01_href    reading 332
         01_rep_if_0 reading 134
         01_rep_openLevel reading 140
         01_rep_range_0 reading 328
         01_rep_range_1 reading 310
         01_rep_rt_0 reading 143
         01_rep_step reading 295
         02_href    reading 300
         02_rep_if_0 reading 108
         02_rep_n   reading 202
         02_rep_rt_0 reading 124
         02_rep_wiserone.room reading 117
         03_href    reading 135
         03_rep_action reading 128
         03_rep_if_0 reading 331
         03_rep_if_1 reading 121
         03_rep_rt_0 reading 336
         04_href    reading 105
         04_rep_if_0 reading 296
         04_rep_openLevel reading 316
         04_rep_range_0 reading 100
         04_rep_range_1 reading 145
         04_rep_rt_0 reading 304
         04_rep_step reading 136
         05_href    reading 301
         05_rep_if_0 reading 107
         05_rep_n   reading 205
         05_rep_rt_0 reading 126
         05_rep_wiserone.room reading 120
         06_href    reading 313
         06_rep_action reading 318
         06_rep_if_0 reading 116
         06_rep_if_1 reading 327
         06_rep_rt_0 reading 102
         07_href    reading 199
         07_rep_if_0 reading 261
         07_rep_openLevel reading 277
         07_rep_range_0 reading 189
         07_rep_range_1 reading 169
         07_rep_rt_0 reading 288
         07_rep_step reading 149
         08_href    reading 113
         08_rep_if_0 reading 308
         08_rep_n   reading 259
         08_rep_rt_0 reading 294
         08_rep_wiserone.room reading 303
         09_href    reading 309
         09_rep_action reading 321
         09_rep_if_0 reading 112
         09_rep_if_1 reading 324
         09_rep_rt_0 reading 106
         10_href    reading 320
         10_rep_if_0 reading 122
         10_rep_openLevel reading 101
         10_rep_range_0 reading 317
         10_rep_range_1 reading 326
         10_rep_rt_0 reading 110
         10_rep_step reading 334
         11_href    reading 223
         11_rep_if_0 reading 154
         11_rep_n   reading 144
         11_rep_rt_0 reading 166
         11_rep_wiserone.room reading 175
         12_href    reading 255
         12_rep_action reading 263
         12_rep_if_0 reading 182
         12_rep_if_1 reading 239
         12_rep_rt_0 reading 210
         13_href    reading 151
         13_rep_if_0 reading 225
         13_rep_openLevel reading 247
         13_rep_range_0 reading 146
         13_rep_range_1 reading 219
         13_rep_rt_0 reading 241
         13_rep_step reading 193
         14_href    reading 200
         14_rep_if_0 reading 260
         14_rep_n   reading 314
         14_rep_rt_0 reading 287
         14_rep_wiserone.room reading 276
         15_href    reading 252
         15_rep_action reading 262
         15_rep_if_0 reading 183
         15_rep_if_1 reading 240
         15_rep_rt_0 reading 206
         16_href    reading 290
         16_rep_if_0 reading 220
         16_rep_openLevel reading 180
         16_rep_range_0 reading 285
         16_rep_range_1 reading 226
         16_rep_rt_0 reading 188
         16_rep_step reading 245
         17_href    reading 104
         17_rep_if_0 reading 297
         17_rep_n   reading 291
         17_rep_rt_0 reading 305
         17_rep_wiserone.room reading 315
         18_href    reading 218
         18_rep_action reading 211
         18_rep_if_0 reading 281
         18_rep_if_1 reading 160
         18_rep_rt_0 reading 269
         19_href    reading 282
         19_rep_if_0 reading 215
         19_rep_openLevel reading 185
         19_rep_range_0 reading 292
         19_rep_range_1 reading 222
         19_rep_rt_0 reading 192
         19_rep_step reading 242
         20_href    reading 333
         20_rep_if_0 reading 142
         20_rep_n   reading 163
         20_rep_rt_0 reading 127
         20_rep_wiserone.room reading 132
         21_href    reading 267
         21_rep_action reading 256
         21_rep_if_0 reading 195
         21_rep_if_1 reading 249
         21_rep_rt_0 reading 217
         22_href    reading 229
         22_rep_if_0 reading 159
         22_rep_openLevel reading 170
         22_rep_range_0 reading 233
         22_rep_range_1 reading 270
         22_rep_rt_0 reading 177
         22_rep_step reading 250
         23_href    reading 198
         23_rep_if_0 reading 264
         23_rep_n   reading 311
         23_rep_rt_0 reading 283
         23_rep_wiserone.room reading 274
         24_href    reading 148
         24_rep_action reading 157
         24_rep_if_0 reading 228
         24_rep_if_1 reading 209
         24_rep_rt_0 reading 238
         25_href    reading 231
         25_rep_if_0 reading 156
         25_rep_openLevel reading 174
         25_rep_range_0 reading 236
         25_rep_range_1 reading 272
         25_rep_rt_0 reading 178
         25_rep_step reading 254
         26_href    reading 246
         26_rep_if_0 reading 168
         26_rep_n   reading 137
         26_rep_rt_0 reading 147
         26_rep_wiserone.room reading 162
         27_href    reading 138
         27_rep_action reading 131
         27_rep_if_0 reading 330
         27_rep_if_1 reading 123
         27_rep_rt_0 reading 337
         28_href    reading 167
         28_rep_if_0 reading 243
         28_rep_openLevel reading 234
         28_rep_range_0 reading 171
         28_rep_range_1 reading 190
         28_rep_rt_0 reading 224
         28_rep_step reading 213
         29_href    reading 244
         29_rep_if_0 reading 165
         29_rep_n   reading 133
         29_rep_rt_0 reading 152
         29_rep_wiserone.room reading 164
         30_href    reading 306
         30_rep_action reading 319
         30_rep_if_0 reading 114
         30_rep_if_1 reading 323
         30_rep_rt_0 reading 103
         31_href    reading 232
         31_rep_if_0 reading 155
         31_rep_openLevel reading 173
         31_rep_range_0 reading 235
         31_rep_range_1 reading 273
         31_rep_rt_0 reading 179
         31_rep_step reading 253
         32_href    reading 265
         32_rep_if_0 reading 196
         32_rep_n   reading 118
         32_rep_rt_0 reading 214
         32_rep_wiserone.room reading 203
         33_href    reading 158
         33_rep_action reading 150
         33_rep_if_0 reading 230
         33_rep_if_1 reading 212
         33_rep_rt_0 reading 248
         34_href    reading 181
         34_rep_if_0 reading 257
         34_rep_openLevel reading 289
         34_rep_range_0 reading 186
         34_rep_range_1 reading 176
         34_rep_rt_0 reading 278
         34_rep_step reading 161
         35_href    reading 268
         35_rep_if_0 reading 194
         35_rep_n   reading 119
         35_rep_rt_0 reading 216
         35_rep_wiserone.room reading 204
         36_href    reading 275
         36_rep_action reading 293
         36_rep_if_0 reading 201
         36_rep_if_1 reading 221
         36_rep_rt_0 reading 187
         37_href    reading 109
         37_rep_if_0 reading 299
         37_rep_openLevel reading 312
         37_rep_range_0 reading 111
         37_rep_range_1 reading 139
         37_rep_rt_0 reading 322
         37_rep_step reading 129
         38_href    reading 207
         38_rep_if_0 reading 280
         38_rep_n   reading 302
         38_rep_rt_0 reading 251
         38_rep_wiserone.room reading 258
         39_href    reading 279
         39_rep_action reading 286
         39_rep_if_0 reading 208
         39_rep_if_1 reading 227
         39_rep_rt_0 reading 184
         40_href    reading 197
         40_rep_if_0 reading 266
         40_rep_openLevel reading 271
         40_rep_range_0 reading 191
         40_rep_range_1 reading 172
         40_rep_rt_0 reading 284
         40_rep_step reading 153
         41_href    reading 141
         41_rep_if_0 reading 335
         41_rep_n   reading 237
         41_rep_rt_0 reading 325
         41_rep_wiserone.room reading 329
         42_href    reading 115
         42_rep_action reading 125
         42_rep_if_0 reading 307
         42_rep_if_1 reading 130
         42_rep_rt_0 reading 298
       get02:
         wlss31_    get 02
       update:
         01_href    reading 332
         01_rep_if_0 reading 134
         01_rep_openLevel reading 140
         01_rep_range_0 reading 328
         01_rep_range_1 reading 310
         01_rep_rt_0 reading 143
         01_rep_step reading 295
         02_href    reading 300
         02_rep_if_0 reading 108
         02_rep_n   reading 202
         02_rep_rt_0 reading 124
         02_rep_wiserone.room reading 117
         03_href    reading 135
         03_rep_action reading 128
         03_rep_if_0 reading 331
         03_rep_if_1 reading 121
         03_rep_rt_0 reading 336
         04_href    reading 105
         04_rep_if_0 reading 296
         04_rep_openLevel reading 316
         04_rep_range_0 reading 100
         04_rep_range_1 reading 145
         04_rep_rt_0 reading 304
         04_rep_step reading 136
         05_href    reading 301
         05_rep_if_0 reading 107
         05_rep_n   reading 205
         05_rep_rt_0 reading 126
         05_rep_wiserone.room reading 120
         06_href    reading 313
         06_rep_action reading 318
         06_rep_if_0 reading 116
         06_rep_if_1 reading 327
         06_rep_rt_0 reading 102
         07_href    reading 199
         07_rep_if_0 reading 261
         07_rep_openLevel reading 277
         07_rep_range_0 reading 189
         07_rep_range_1 reading 169
         07_rep_rt_0 reading 288
         07_rep_step reading 149
         08_href    reading 113
         08_rep_if_0 reading 308
         08_rep_n   reading 259
         08_rep_rt_0 reading 294
         08_rep_wiserone.room reading 303
         09_href    reading 309
         09_rep_action reading 321
         09_rep_if_0 reading 112
         09_rep_if_1 reading 324
         09_rep_rt_0 reading 106
         10_href    reading 320
         10_rep_if_0 reading 122
         10_rep_openLevel reading 101
         10_rep_range_0 reading 317
         10_rep_range_1 reading 326
         10_rep_rt_0 reading 110
         10_rep_step reading 334
         11_href    reading 223
         11_rep_if_0 reading 154
         11_rep_n   reading 144
         11_rep_rt_0 reading 166
         11_rep_wiserone.room reading 175
         12_href    reading 255
         12_rep_action reading 263
         12_rep_if_0 reading 182
         12_rep_if_1 reading 239
         12_rep_rt_0 reading 210
         13_href    reading 151
         13_rep_if_0 reading 225
         13_rep_openLevel reading 247
&nb

StefanStrobel

Ok, ich glaube jetzt verstehe ich das Problem.
Die Namen der Readings müssten zusammen mit den Werten aus dem JSON extrahiert werden. Oder ist die Sequenz bzw. Zuordnung von Schalter zu Nummer immer gleich?

Du könntest das jetzt natürlich Reading für Reading per Regex machen und auf den passenden Namen und den darauf folgenden Wert matchen.
Nicht sehr leserlich / elegant.

Vermutlich wird es am einfachsten sein, das per parseFunction1 mit eigenem Perl-Code einzuklinken.
Der Name der Funktion wird per Attribut gesetzt und die Funktion wird mit dem Device-Hash und dem Text der HTTP-Response aufgerufen.
Dann würde ich sequentiell durch die Einträge gehen und jeweils readingsBulkUpdate aufrufen.

Gruss
   Stefan