Benzinpreise von FHEM nach thingspeak hochladen

Begonnen von Kitt, 11 Juli 2017, 15:12:28

Vorheriges Thema - Nächstes Thema

Kitt

Hallo an alle,

als Anfänger habe ich es geschafft, mir alle 15 Minuten Readings ausgeben zu lassen, die mir den aktuellen Benzinpreis anzeigen (HTTPMOD).
Nun würde ich diese Werte gleichzeitig bei jeder Messung nach Thingspeak hochladen, um sie dort zu loggen.

Ich dachte an das Attribut "event-on-update-reading"?

Aber wie sieht dann der Befehl dazu aus?

Danke und viele Grüße!

amenomade

Kenne Thingspeak  nicht. Wie würdest Du (ausserhalb FHEM) einen Wert "hochladen"?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Kitt

#2
Ich lade dort Temperatur- und Luftfeuchtigkeitsdaten mit einem vorgefertigten Programm hoch (ohne FHEM).

Thingspeak gibt mir eine Adresse, mit der ich einzelne Werte hoch laden kann, das klappt auch, wenn ich die Adresse in
den Browser eingebe:

GET https://api.thingspeak.com/update?api_key=[ENTERAPI]&field1=0

Die "0" steht dann für den Wert, der hoch geladen werden soll.

Wie kann ich das nun in meine HTTPMOD einbauen und die "0" mit den jeweiligen Benzinpreisen ersetzen?

Devender

Hi,

dem httpmod String kannst du anstelle deiner "0" die Variablenzuweisung $val  übergeben.
Schau mal hier: https://wiki.fhem.de/wiki/HTTPMOD und dort nach "Advanced configuration to define a set command and send data to a device".

Das sollte genau das sein, was du benötigst.

Grüße,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

Kitt

Ok, danke für den Tipp.

Aber wie wird dann $val automatisch durch das Reading ersetzt?

Vielleicht ist das ganze für den Anfang dann doch etwas zu kompliziert für mich  :-\

CoolTux

In dem Du den Wert des Readings abfragst. Entweder mit ReadingsVal() oder als SetMagic mit set Device [DEVICE:READING]

Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kitt

Ich denke, das ist genau das, was ich brauche!

Kann ich diese Befehle als Attribute direkt in meine HTTPMOD einbauen?
Mit dem Attribut "event-on-update-reading"?
Damit der $val mit jedem Update automatisch ersetzt wird?

Sorry, ich versuche mich gerade einzuarbeiten...  :D
Vielen Dank!

CoolTux

Kenne mich mit HTTPMOD nicht so aus, aber würde einfach mal ja sagen. Probiere es aus. Im besten Fall gibt es eine saubere Fehlermeldung.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kitt

Ich habe nun als Attribut eingefügt (event-on-update-reading):

POST https://api.thingspeak.com/update?api_key=S1CI1DR793JTX7U2&field1=ReadingsVal(OUT.Spritpreis, SuperE10)

Out.Spritpreis ist der Name der HTTPMOD und SuperE10 das Reading.(?)

Danach ließ sich FHEM nicht mehr öffnen.
Hat jemand einen konkreten Tipp, wie ich vorgehen muss?

CoolTux

Irgendwie sprichst du in Rätseln. Ich glaube Deine Halbsätze haben mich verwirrt. Das Attribut event-on-change-reading hilft Dir nicht Deinen wert aus zu lesen.

Mach mal bitte ein list vom HTTPMOD Device.
list ist ein FHEM Befehl
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kitt

Ok...

Ich habe eine HTTPMOD, die mir alle 15 Minuten den Benzinpreis ausgibt.

Diesen Wert will ich dann automatisch zum Loggen bei Thingspeak hochladen.
Dazu gibt mir Thingspeak folgenden Link an:
GET https://api.thingspeak.com/update?api_key=S1CI1DR793JTX7U2&field1=0

Ich möchte nun bei Vorgänge miteinander verbinden.
Dazu brauche ich einen Vorgang, der den Preis ausliest, in den Link einfügt und dann
den Link abschickt.

LG

Kitt

Falls es weiterhilft, hier noch die list:

Internals:
   BUSY       0
   DEF        http://www.clever-tanken.de/tankstelle_details/45725 900
   Interval   900
   LASTSEND   1499891059.50874
   MainURL    http://www.clever-tanken.de/tankstelle_details/45725
   ModuleVersion 3.3.5 - 29.9.2016
   NAME       OUT.Spritpreis
   NR         19
   STATE      E10: 1.49 €
   TRIGGERTIME 1499891959.50824
   TRIGGERTIME_FMT 2017-07-12 22:39:19
   TYPE       HTTPMOD
   addr       http://www.clever-tanken.de:80
   buf        HTTP/1.1 200 OK

Date: Wed, 12 Jul 2017 20:26:12 GMT

Server: Apache/2.2.22 (Ubuntu)

Vary: Accept-Encoding

Content-Type: text/html; charset=utf-8

Connection: close

CoolTux

Zitat von: Devender am 11 Juli 2017, 22:54:07
Hi,

dem httpmod String kannst du anstelle deiner "0" die Variablenzuweisung $val  übergeben.
Schau mal hier: https://wiki.fhem.de/wiki/HTTPMOD und dort nach "Advanced configuration to define a set command and send data to a device".

Das sollte genau das sein, was du benötigst.

Grüße,
Dirk

Ich kann nicht sehen das Du irgendwas davon eingebaut hast
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Kitt

Attributes:
   readingsName_SuperE10 SuperE10
   readingsRegex_SuperE10 <span>Super E10</span>[^0-9]+([0-9\.]+)
   room       Draußen
   set01Name  preissenden
   set01URL   https://api.thingspeak.com/update?api_key=S1CI1DR793JTX7U2&field1=$val
   stateFormat E10: SuperE10 €
   userattr   readingsName_SuperE10 readingsRegex_SuperE readingsRegex_SuperE10 set01Name set01URL


Ich glaube, das macht so keinen Sinn. Ich kann mit allgemeinen Hinweisen nicht viel anfangen, weil ich von der Syntax
keine Ahnung hab. Dachte einfach nicht, dass es so kompliziert sein würde.

CoolTux


set01URL   https://api.thingspeak.com/update?api_key=S1CI1DR793JTX7U2&field1=[OUT.Spritpreis:SuperE10]


Kann aber nicht versprechen das es so klappt.

Und bitte wenn Du Ausgaben wie Log oder Code oder Konfig hast immer hier in Codetags posten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net