Hallo zusammen,
ich hoffe mal mir kann da jemand helfen.
Also ich habe in der Küche an einem Raspberry Pi einen Sensor laufen der alle 15 s Luftfeuchtigkeit und Temperatur misst und an die Plattform thingspeak.com schickt.
Ich hatte nun gehofft auf diese Daten per IOBroker zuzugreifen. - Zum einen um diese grafisch in VIS darzustellen und zum anderen um diesen Wert an mein Heizungsthermostat als aktuellen Raumtemperatur zu übergeben. (Sollte etwas genauer sein da die Sensoren am Raspberry im Gegensatz zum Heizungsthermostat nicht am Fenster bzw Balkontüren liegen)
Man kann über thingspeak sich Daten auslesen lassen: https://api.thingspeak.com/channels/xxx … ?results=1
und erhält damit über den Browser folgendes:
{"channel":{"id":xxxxxx,"name":"RPi Sensor Küche","latitude":"0.0","longitude":"0.0","field1":"Temperatur","field2":"Luftfeuchtigkeit","created_at":"2018-08-20T11:19:50Z","updated_at":"2018-09-02T12:53:44Z","last_entry_id":64372},"feeds":[{"created_at":"2018-09-02T12:53:44Z","entry_id":64372,"field1":"24.0"}]}
Ich hab bisher leider nur den umgekehrten Fall gefunden das jemand sein Script zur verfügung gestellt hat wie er Daten zu Thingspeak schickt.
Funktion1
! function ExportToThingspeak(ChannelApiKey,Field,FieldValue,TimeOutSek)
! {
! var ChannelUrl = "https://api.thingspeak.com/update?api_k … FieldValue;
! setTimeout(DoThingSpeakRequest, TimeOutSek*1000, ChannelUrl);
! }
! function DoThingSpeakRequest(ChannelUrl)
! {
! request( { url: ChannelUrl, json: true }, function (error, response, body)
! {
! log('DoThingSpeakRequest - ChannelUrl: ' + ChannelUrl);
! } );
! }
Funktion2
! on({id: "mqtt.0.outdoor1_Bodenfeuchtigkeit", change: "any"}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! ExportToThingspeak("<yourkeyhere>","field1",value.toString(),20);
! });
! on({id: "mqtt.0.outdoor1_Luftfeuchtigkeit", change: "any"}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! ExportToThingspeak("<yourkeyhere>","field2",value.toString(),40);
! });
! on({id: "mqtt.0.outdoor1_Lufttemperatur", change: "any"}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! ExportToThingspeak("<yourkeyhere>","field3",value.toString(),60);
! });</yourkeyhere></yourkeyhere></yourkeyhere>
Doch wie geht das in meinem Fall?