FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: MichaelO am 27 Dezember 2020, 19:30:40

Titel: Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: MichaelO am 27 Dezember 2020, 19:30:40
Hallo,
nachdem ich jetzt eine halbe Ewigkeit gebraucht habe, per HTTPMOD von Tibber den aktuellen Strompreis zu bekommen (Token und HomeID sind aus dem Demo-Portal), wollte ich jetzt über 2 variable Werte für Token bzw. HomeID im data-/Header-Statement ersetzen, so dass man die Sache später einfacher Einrichten kann... es klappt nicht, egal was ich versuche. Könnte sich bitte wer mal kurz das Device anschauen und mir etwas unter die Arme greifen? Das Modul HTTPMOD ist schon irgendwie ganz speziell und ich komme mit der Referenz bzw. dem Wiki zu keinem Ergebnis.

Ich würde das Device auch gerne nur einmal kurz nach der vollen Stunde aktualisieren lassen und habe keine Ahnung, wo man das einstellen kann.

Internals:
   BUSY       0
   DEF        https://api.tibber.com/v1-beta/gql
   FUUID      5fe88513-f33f-497e-0fed-09344ba3a32045be
   Interval   10
   MainURL    https://api.tibber.com/v1-beta/gql
   ModuleVersion 4.0.16 - 5.12.2020
   NAME       tibber
   NOTIFYDEV  global
   NR         318
   NTFY_ORDER 50-tibber
   STATE      Strompreis: 14.32 ct/kWh
   TYPE       HTTPMOD
   value     
   CompiledRegexes:
   HttpUtils:
     NAME       
     addr       https://api.tibber.com:443
     auth       0
     buf       
     code       200
     compress   1
     conn       
     data       { "query": "{viewer {home(id:\"c70dcbe5-4485-4821-933d-a8a86452737b\") {currentSubscription {priceInfo {current {total energy tax startsAt }}}}}}" }
     displayurl https://api.tibber.com/v1-beta/gql
     header     Content-Type: application/json
Authorization: Bearer d1007ead2dc84a2b82f0de19451c5fb22112f7ae11d19bf2bedb224a003ff74a
     host       api.tibber.com
     httpheader HTTP/1.1 200 OK
Date: Sun, 27 Dec 2020 18:21:00 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 163
Connection: close
Server: nginx/1.19.6
X-Powered-By: Express
Access-Control-Allow-Origin: *
ETag: W/"a3-LLuHw9s33s/kzpHqHWq4YOI3leU"
Vary: Accept-Encoding
     httpversion 1.0
     hu_blocking 0
     hu_filecount 1
     hu_port    443
     hu_portSfx
     ignoreredirects 1
     loglevel   4
     path       /v1-beta/gql
     protocol   https
     redirects  0
     timeout    2
     url        https://api.tibber.com/v1-beta/gql
     sslargs:
   OLDREADINGS:
   QUEUE:
   READINGS:
     2020-12-27 19:21:00   Strompreis      14.32
   REQUEST:
     context    reading
     data       { "query": "{viewer {home(id:\"c70dcbe5-4485-4821-933d-a8a86452737b\") {currentSubscription {priceInfo {current {total energy tax startsAt }}}}}}" }
     header     Content-Type: application/json
Authorization: Bearer d1007ead2dc84a2b82f0de19451c5fb22112f7ae11d19bf2bedb224a003ff74a
     ignoreredirects 0
     num        0
     retryCount 0
     type       update
     url        https://api.tibber.com/v1-beta/gql
   defptr:
     readingBase:
       Strompreis reading
       data_viewer_home_currentSubscription_priceInfo_current_total reading
     readingNum:
       Strompreis 1
       data_viewer_home_currentSubscription_priceInfo_current_total 0
     readingOutdated:
     requestReadings:
       update:
         Strompreis reading 1
         data_viewer_home_currentSubscription_priceInfo_current_total reading 0
Attributes:
   reading1JSON data_viewer_home_currentSubscription_priceInfo_current_total
   reading1Name Strompreis
   reading1OExpr $val*100
   requestData { "query": "{viewer {home(id:\"c70dcbe5-4485-4821-933d-a8a86452737b\") {currentSubscription {priceInfo {current {total energy tax startsAt }}}}}}" }
   requestHeader1 Content-Type: application/json
   requestHeader2 Authorization: Bearer d1007ead2dc84a2b82f0de19451c5fb22112f7ae11d19bf2bedb224a003ff74a
   stateFormat {sprintf("Strompreis: %.2f ct/kWh", ReadingsVal($name,"Strompreis",0))}
   verbose    5


Danke
Michael
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: amenomade am 27 Dezember 2020, 23:05:44
ZitatrequestHeader2 Authorization: Bearer d1007ead2dc84a2b82f0de19451c5fb22112f7ae11d19bf2bedb224a003ff74a

requestHeader2 Authorization: Bearer %%token%%
replacement01Mode reading
replacement01Regex %%token%%
replacement01Value token

+ "setreading tibber token d1007ead2dc84a2b82f0de19451c5fb22112f7ae11d19bf2bedb224a003ff74a"

Das sollte für HomeID ähnlich gehen.
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: MichaelO am 28 Dezember 2020, 09:18:17
Prima, danke. Da war ich nah dran aber trotzdem daneben - hatte den replacementMode falsch :-(

Derzeit läuft das ganze ja mit Intervall. Ich verstehe die Syntax nicht, dass ich den Abruf manuell anstoßen kann. Wäre hier jemand so nett, das vielleicht noch zu erklären?
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: MichaelO am 28 Dezember 2020, 09:34:56
Hab's gefunden. Man muss den Aufruf über set tibber reread ausführen. Mich hatte im Wiki verwirrt, dass da ein get-Kommando definiert wurde. Wie auch immer, es geht jetzt. Danke schonmal.
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: amenomade am 28 Dezember 2020, 10:21:56
Zitat von: MichaelO am 27 Dezember 2020, 19:30:40
Ich würde das Device auch gerne nur einmal kurz nach der vollen Stunde aktualisieren lassen und habe keine Ahnung, wo man das einstellen kann.

Ahja, diese Frage hatte ich noch vergessen.
Mit einem Interval von 3600 wird die Abfrage automatisch jede Stunde angestossen.
Mit Attribut alignTime dazu, z.B. 00:05, kann man es so einstellen, dass es immer 5 Minuten nach voller Stunde erfolgt

Somit braucht man kein zusätzliches "at" mit "set tibber reread"
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: MichaelO am 28 Dezember 2020, 11:42:53
Ah, klasse. Ich hatte das jetzt schonmal mit einem doif gelöst, aber im httpmod selbst ist natürlich eleganter  8)

Danke schonmal, hat sehr geholfen!
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: hyper2910 am 10 Juli 2021, 10:59:43
Kannst du mal das def zeigen, ich bekommen irgendwie keine Werte zurück
Titel: Antw:Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?
Beitrag von: MichaelO am 11 Juli 2021, 17:54:04
Moin, sorry... hab das Device vor einiger Zeit gelöscht. Ich rufe Tibber über die Wallbox ab. Das reicht mir, in fhem brauche ich die Daten nicht mehr.