#Raw data from RESTful Sensor?

1 messages · Page 1 of 1 (latest)

hoary haven
#

I have a device that's basically become abandonware from the manufacturer but has an undocumented REST endpoint that I presume is meant for the no longer developed app. However, trying to ingest the raw bytes from a GET has been a challenge.

Here's what I've put in my configuration.yaml:

  - platform: rest
    resource: http://192.168.0.48:3333
    value_template: "{{ value_json }}"
    
logger:
  default: info
  logs:
    homeassistant.components.rest: debug```

Now, when I try to hit this GET endpoint using Postman, it throws an error saying ``Parse Error: The server returned a malformed response``

However, using Wireshark I see the TCP packet is not malformed, and the payload is a basic hex string: ``00c300c8100000661000007110001000``

This string does correspond with actual values, as figured out by this Reddit user: https://www.reddit.com/r/homeassistant/comments/qm7s7i/grill_monitoring_specifically_the_chargriller_980/

In HA, though, it shows that it is polling the endpoint for data but never prints out what data it found/got, so I'm wondering if I can change the value_template property but I don't know what I would need to change it to.

FWIW, that Reddit user jumped from the device -> Node-RED TCP node -> Node-RED MQTT node -> HA. I don't want to set up a Node-RED instance just for this one device, so I'm trying to get HA to just pull in the data directly using REST.

For future surfaceability, this device is the Char-Griller Gravity 980.
Reddit

Explore this post and more from the homeassistant community

#

Here's what the HA logs look like:

2025-07-06 10:36:40.978 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:36:40.978 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333
2025-07-06 10:39:43.002 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:39:43.002 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333
2025-07-06 10:42:44.114 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:42:44.114 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333
2025-07-06 10:45:46.171 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:45:46.171 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333
2025-07-06 10:48:47.317 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:48:47.317 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333
2025-07-06 10:51:48.407 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:51:48.408 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333
2025-07-06 10:54:48.830 INFO (MainThread) [homeassistant.components.sensor] Setting up rest.sensor
2025-07-06 10:54:48.831 DEBUG (MainThread) [homeassistant.components.rest.data] Updating from http://192.168.0.48:3333```
#

curl throws me a HTTP/0.9 when not allowed

#

okay telling curl to allow http09 prints out the string i was expecting

hoary haven
#

Okay banging against this a bit and throwing an ask at a LLM, it looks like the REST integrations can't parse binary. This answers my ask

#

For anyone searching "char-griller gravity 980" or "char-grillery 980" "chargriller" etc., this is what my LLM said, so I'm going to think about going at this a different way