Liebe alle,
ich möchte hier zeigen, wie ich mittles HTTPMOD das Meater Grillthermometer mit 4 Sonden eingebunden habe. Vielleicht ist es anderen Usern, die ebenfalls das Meater Thermometer einbinden, hilfreich.
Ich verwende die Einbindung in FHEM um einen selbstgebauten Stellmotorantrieb für die Gasregler am Grill zu steuern. Somit ist eine automatisierte Steuerung bzw. über FTUI eine Fernsteuerung des Grills möglich. Hilfreich für z.B. low-Temp Grillen.
Voraussetzung ist das Anlegen eines Meater Cloud Accounts.
Die Meater API Beschreibung findet sich hier:
https://github.com/apption-labs/meater-cloud-public-rest-api
Dann wird das Device mittels HTTPMod angelegt und die Attribute gesetzt (e-mail und Password entsprechend anpassen):
define Meater HTTPMOD https://public-api.cloud.meater.com/v1/devices 60
attr Meater userattr sid1IgnoreRedirects:0,1 sid1ParseResponse:0,1
attr Meater enableControlSet 1
attr Meater extractAllJSON 1
attr Meater reAuthRegex ("statusCode":401)
attr Meater requestHeader2 Authorization: Bearer $sid
attr Meater room Arbeitszimmer
attr Meater sid1Data { "email": "<MEINE-E-MAIL>", "password": "<MEIN-PASSWORD>"}
attr Meater sid1Header1 Content-Type: application/json
attr Meater sid1IdJSON data_token
attr Meater sid1IgnoreRedirects 1
attr Meater sid1ParseResponse 1
attr Meater sid1URL https://public-api.cloud.meater.com/v1/login
attr Meater timeout 10
Viel Spaß beim smarten Grillen!
Hallo Andi,
der Thread ist alt, aber ich habe ihn gerade erst entdeckt und feiere gerade das Resultat (bei einem Bier, während der Braten brät).
Vielen Dank!
Das freut mich sehr. Genauso war es gedacht! Have fun!
Hallo Andi,
Bei mir klappt es leider nicht. Ich habe ein Meater Plus Ich habe bei Meater ein Konto angelegt. Ich bekomme immer nur den Status " Unauthorized /401"
Würdest Du mal einen Blick auf mein Listing werfen und schauen ob ich irgendwo grossen Bockmist gebaut Habe
define Meater HTTPMOD https://public-api.cloud.meater.com/v1/devices 60
attr Meater userattr sid1IgnoreRedirects:0,1 sid1ParseResponse:0,1
attr Meater enableControlSet 1
attr Meater extractAllJSON 1
attr Meater reAuthRegex ("statusCode":401)
attr Meater requestHeader2 Authorization: Bearer $sid
attr Meater room Meater
attr Meater sid1Data { "email": "xxxx.xxxx@t-online.de", "password": "xxxxxxxx"}
attr Meater sid1Header1 Content-Type: application/json
attr Meater sid1IdJSON data_token
attr Meater sid1IgnoreRedirects 1
attr Meater sid1ParseResponse 1
attr Meater sid1URL https://public-api.cloud.meater.com/v1/login
attr Meater timeout 10
# BUSY 0
# CFGFN
# DEF https://public-api.cloud.meater.com/v1/devices 60
# FUUID 66d752f1-f33f-c05b-8039-02180baf3ac802ed
# Interval 60
# LastAuthTry 2024-09-03 20:47:25
# MainURL https://public-api.cloud.meater.com/v1/devices
# ModuleVersion 4.2.0 - 11.8.2023
# NAME Meater
# NOTIFYDEV global
# NR 155
# NTFY_ORDER 50-Meater
# STATE ???
# TYPE HTTPMOD
# eventCount 51
# value
# CompiledRegexes:
# HttpUtils:
# NAME
# addr https://public-api.cloud.meater.com:443
# auth 0
# buf
# code 401
# compress 1
# conn
# data
# displayurl https://public-api.cloud.meater.com/v1/devices
# header Authorization: Bearer $sid
# host public-api.cloud.meater.com
# httpheader HTTP/1.1 401 Unauthorized
#Content-Type: application/json; charset=utf-8
#Content-Length: 125
#Connection: close
#Access-Control-Allow-Origin: *
#Content-Security-Policy: default-src 'self';base-uri 'self';font-src 'self' https: data:;form-action 'self';frame-ancestors 'self';img-src 'self' data:;object-src 'none';script-src 'self';script-src-attr 'none';style-src 'self' https: 'unsafe-inline';upgrade-insecure-requests
#Cross-Origin-Opener-Policy: same-origin
#Cross-Origin-Resource-Policy: same-origin
#Origin-Agent-Cluster: ?1
#Referrer-Policy: no-referrer
#Strict-Transport-Security: max-age=15552000; includeSubDomains
#X-Content-Type-Options: nosniff
#X-DNS-Prefetch-Control: off
#X-Download-Options: noopen
#X-Frame-Options: SAMEORIGIN
#X-Permitted-Cross-Domain-Policies: none
#X-XSS-Protection: 0
#X-RateLimit-Limit: 60
#X-RateLimit-Remaining: 56
#Date: Tue, 03 Sep 2024 18:47:25 GMT
#X-RateLimit-Reset: 1725389246
#ETag: W/"7d-G7aj5+6HYhyeWdJ29wu/LV5WSWA"
#X-Cache: Error from cloudfront
#Via: 1.1 4c6cae2fc798878bd6b9da38fe5208f8.cloudfront.net (CloudFront)
#X-Amz-Cf-Pop: HAM50-P2
#X-Amz-Cf-Id: fiKdUhDR_w-kV7oH7Q6dFhTFKwwyvuCU84Eh-WL6lnGkJQCOMUrqEQ==
# httpversion 1.0
# hu_blocking 0
# hu_filecount 1
# hu_port 443
# hu_portSfx
# ignoreredirects 1
# loglevel 4
# path /v1/devices
# protocol https
# redirects 0
# timeout 10
# url https://public-api.cloud.meater.com/v1/devices
# sslargs:
# QUEUE:
# READINGS:
# 2024-09-03 20:47:26 help https://github.com/apption-labs/meater-cloud-public-rest-api
# 2024-09-03 20:47:26 message
# 2024-09-03 20:47:26 status Unauthorized
# 2024-09-03 20:47:26 statusCode 401
# REQUEST:
# context reading
# data
# header Authorization: Bearer $sid
# ignoreredirects 0
# num unknown
# priority 1
# retryCount 1
# type update
# url https://public-api.cloud.meater.com/v1/devices
# value
# defptr:
# readingBase:
# help reading
# message reading
# status reading
# statusCode reading
# readingNum:
# help unknown
# message unknown
# status unknown
# statusCode unknown
# readingOutdated:
# requestReadings:
# auth1:
# help sid 1
# message sid 1
# status sid 1
# statusCode sid 1
# update:
# help reading unknown
# message reading unknown
# status reading unknown
# statusCode reading unknown
#
setstate Meater 2024-09-03 20:47:26 help https://github.com/apption-labs/meater-cloud-public-rest-api
setstate Meater 2024-09-03 20:47:26 message
setstate Meater 2024-09-03 20:47:26 status Unauthorized
setstate Meater 2024-09-03 20:47:26 statusCode 401
Deine FHEM Definition sieht korrekt aus. Vielleicht ist etwas mit dem Anlegen von dem Meater cloud account nicht richtig gelaufen. Benutzername und Passwort vom Cloud Account müssen übereinstimmen. Ich würde in die Richtung untersuchen.