Replacement in HTTPMOD-Request und Abruf nur 1x/Stunde?

Begonnen von MichaelO, 27 Dezember 2020, 19:30:40

Vorheriges Thema - Nächstes Thema

MichaelO

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

amenomade

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.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MichaelO

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?

MichaelO

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.

amenomade

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"
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MichaelO

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!

hyper2910

Kannst du mal das def zeigen, ich bekommen irgendwie keine Werte zurück
Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,

MichaelO

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.