Integration of web thermometer

Dear forum,
I am using a web thermometer (WuT data sheet: Web-Thermograph).
Unfortunately, I cannot find an integration, neither in Home Assistant itself, nor in HACS for IP-Web-devices.
Does anybody know, how/if this device can be integrated somehow?

Thanks
Holger

A quick scan of the manual indicates you could use an SNMP sensor (page 48) to get the temperature.

Dear Forum,

I think, I do have a general understanding-issue of how the “configuration.yaml” has to look like:

I already have added some sensors, which are working fine. But now I am trying to implement SNMP and am struggeling

my file looks like this:

# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

template:
  - sensor:
    - name: "Verlustleistung_WR"
      unique_id: "VerlustleistungWR"
      unit_of_measurement: 'W'
      state_class: "measurement"
      device_class: power
      state: >
          {{ (float(states("sensor.solax_pv_power_total")))
           + (float(states("sensor.solax_grid_import")))
           - (float(states("sensor.solax_house_load"))) 
           - (float(states("sensor.solax_battery_power_charge"))) }}
               
########### other Sensors are implemented here #########

       - name: "Niro_rekuperierte_Energie_total_kwh"
         unique_id: "NiroRekuperierteEnergieTotalKwh"
         unit_of_measurement: 'kWh'
         state_class: "measurement"
         device_class: power
         state: >
         {{ ((float(states("sensor.niro_total_energy_regeneration"))) /1000)  | float | round(2) }} 

Now I am trying to implement the SNMP like this:

  - platform: snmp
       name: "WuT Web Thermometer"
       host: "192.168.2.152"
       community: public
       baseoid: .1.3.6.1.4.1.5040.1.2.8.1.3.1.1.1
       unit_of_measurement: '°C'
       scan_interval: "60" 
       device_class: 'temperature'
       state_class: 'measurement'

But WHERE in the file do I have to place this? Because I am always getting the error

I have no Idea, how to fix this

Thanks for any help
Holger

In configuration.yaml under:

sensor:
  - platform: snmp
    name: "WuT Web Thermometer"
    host: "192.168.2.152"
    community: public
    baseoid: 1.3.6.1.4.1.5040.1.2.8.1.3.1.1.1
    unit_of_measurement: '°C'
    scan_interval: "60" 
    device_class: 'temperature'
    state_class: 'measurement'

Or if you have this in your configuration.yaml file:

sensor: !include sensors.yaml

Then put it in sensors.yaml (without the “sensor:” line)

- platform: snmp
  name: "WuT Web Thermometer"
  host: "192.168.2.152"
  community: public
  baseoid: 1.3.6.1.4.1.5040.1.2.8.1.3.1.1.1
  unit_of_measurement: '°C'
  scan_interval: "60" 
  device_class: 'temperature'
  state_class: 'measurement'

Also your indentation was not correct and there should not be a leading “.” in your OID. All corrected above.

Thanks for this, Tom.
At least the configuration,yaml now is not showing an error any more…
But I still do not understand this.
After saving the file and reloading the yaml.config - where can I find the SNMP now?
On “Developer Tools/States” I only see the values from the router, but no entity or sensor, I could implement in a dashboard?

Don’t I still have to configure this somewhere?

The first time you use any new integration you have to restart HA, reloading is not sufficient. After that you can use reload.

…this would have been too easy! This unfortunately, did not do the trick.

I am still not seeing the “WuT Web Thermometer” …

Settings → System → Logs

Note that, according to the manual, your OID is wrong

Hi Chris,

hmmm… according to MIB Browser, I am using the correct one?
image

1 Like

And assuming “3-digit integer value, without comma separation” means what I think it does you are going to need a value template too:

- platform: snmp
  name: "WuT Web Thermometer"
  host: "192.168.2.152"
  community: public
  baseoid: 1.3.6.1.4.1.5040.1.2.8.1.4.1.1.1
  value_template: "{{ value | int / 10 }}"
  unit_of_measurement: '°C'
  scan_interval: "60" 
  device_class: 'temperature'
  state_class: 'measurement'

OMG - full of errors …

Which I do not understand at all, since I am using the mentioned sensors in my dashboard

Additionally, I do not know, ehere this “renders=2>” is coming from. This phrase is not iused in the configuration.yaml, at all?!

Logger: homeassistant.helpers.event
Quelle: helpers/template.py:645
Erstmals aufgetreten: 12:03:54 (3 Vorkommnisse)
Zuletzt protokolliert: 12:03:54

Error while processing template: Template<template=({{ (float(states("sensor.solax_pv_power_total"))) + (float(states("sensor.solax_grid_import"))) - (float(states("sensor.solax_house_load"))) - (float(states("sensor.solax_battery_power_charge"))) }}) renders=2>
Error while processing template: Template<template=({{ (float(states("sensor.solax_house_load"))) - (float(states("sensor.verlustleistung_wr"))) }}) renders=2>
Error while processing template: Template<template=({{ (float(states("sensor.solax_pv_power_total"))) + (float(states("sensor.solax_grid_import"))) + (float(states("sensor.myenergi_zappi_power_ct_internal_load"))) - (float(states("sensor.solax_house_load"))) - (float(states("sensor.verlustleistung_wr"))) - (float(states("sensor.solax_battery_power_charge"))) }}) renders=2>
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2365, in forgiving_float
    return float(value)
ValueError: could not convert string to float: 'unavailable'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 643, in async_render
    render_result = _render_with_context(self.template, compiled, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/template.py", line 2756, in _render_with_context
    return template.render(**kwargs)
           ~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 1295, in render
    self.environment.handle_exception()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/jinja2/environment.py", line 942, in handle_exception
    raise rewrite_traceback_stack(source=source)
  File "<template>", line 4, in top-level template code
  File "/usr/local/lib/python3.13/site-packages/jinja2/sandbox.py", line 401, in call
    return __context.call(__obj, *args, **kwargs)

Fair enough, but I’m not convinced HA supports the “OctetString” data type, though.

Those seem unrelated to the issue at hand. They seem to occur because you force the conversion of some sensors to float while they are unavailable.

Chris, you are GENIUS!!!

THIS REALLY did the trick!!!

Thank you so much, guys!!!