After many hours and months, I have now found a solution for the integration.
This solution is for owners of the WeatherLink-Datalogger (WeatherLinkIP, WeatherLinkUSB and WeatherLinkSER) and Vantage Connect who send their data to Weatherlink.
Not for the new “Weatherlink Station”.
It all starts with https://www.weatherlink.com/. I think you have an account. Because that’s where the data is retrieved.
There you will also get the API key & Api token. And build yourself the API call address in json format.
I picked out the best of all the threads and tried out what works for me.
!! Please replace the XX with your data !!
My programming is metric ! But you can customize it all.
I think you know a bit about Home Assistant and have already made entries in the configuration.yaml.
If not then it will be like me. I know my way around now
If this post helped you, then please give a positive answer for my work. Have fun testing !!
configuration.yaml
sensor:
- platform: rest
resource: 'https://api.weatherlink.com/v1/NoaaExt.json?user=XXXXXXXX&pass=XXXXXXXX&apiToken=XXXXXXXXXXXXXXXX'
scan_interval: 300
name: weatherlink
json_attributes:
- temp_c
- dewpoint_c
- uv_index
- windchill_c
- relative_humidity
- pressure_mb
- rain_day_in
- wind_degrees
- temp_in_f
- wind_mph
- solar_radiation
- davis_current_observation
value_template: '{{ value_json.weatherlink }}'
- platform: template
sensors:
davis_outside_temp:
unique_id: davis_temp_out
friendly_name: 'Davis_Temp_Out'
unit_of_measurement: '°C'
device_class: 'temperature'
value_template: "{{ state_attr('sensor.weatherlink', 'temp_c') }}"
davis_luftfeuchte:
unique_id: davis_luftfeuchte
friendly_name: 'Davis_Luftfeuchte'
unit_of_measurement: '%'
device_class: 'humidity'
value_template: "{{ state_attr('sensor.weatherlink', 'relative_humidity') }}"
davis_inside_temp:
unique_id: davis_temp_in
friendly_name: 'Davis_Temp_In'
value_template: '{{ ((states.sensor.weatherlink.attributes["davis_current_observation"]["temp_in_f"] | float - 32) * (5/9)) | round(1) }}'
unit_of_measurement: '°C'
device_class: 'temperature'
davis_wind_kmh:
unique_id: davis_kmh
friendly_name: 'Davis_Wind'
unit_of_measurement: 'km/h'
value_template: "{{ ((state_attr('sensor.weatherlink', 'wind_mph') |float) * 1.61 )|round(1)}}"
davis_wind_richtung:
unique_id: davis_wind_richtung
friendly_name: 'Davis_Wind_Richtung'
unit_of_measurement: '°'
value_template: "{{ state_attr('sensor.weatherlink', 'wind_degrees') }}"
davis_windchill:
unique_id: davis_windchill
friendly_name: 'Davis_Windchill'
unit_of_measurement: '°C'
value_template: "{{ state_attr('sensor.weatherlink', 'windchill_c') }}"
device_class: 'temperature'
davis_solar:
unique_id: davis_solar
friendly_name: 'Davis_Solar'
unit_of_measurement: 'w/m²'
value_template: '{{ states.sensor.weatherlink.attributes["davis_current_observation"]["solar_radiation"] }}'
davis_regen:
unique_id: davis_regen
friendly_name: 'Davis_Regen'
device_class: water
unit_of_measurement: 'mm'
value_template: '{{ ((states.sensor.weatherlink.attributes["davis_current_observation"]["rain_day_in"] | float * 25.4)) | round(1) }}'
davis_luftdruck:
unique_id: davis_luftdruck
friendly_name: 'Davis_Luftdruck'
unit_of_measurement: 'hPa'
value_template: "{{ state_attr('sensor.weatherlink', 'pressure_mb') }}"
device_class: pressure
davis_uv:
unique_id: davis_uv
friendly_name: 'Davis_UV_Index'
value_template: '{{ states.sensor.weatherlink.attributes["davis_current_observation"]["uv_index"] | round(0) }}'
davis_taupunkt:
unique_id: davis_taupunkt
friendly_name: 'Davis_Taupunkt'
unit_of_measurement: '°C'
device_class: 'temperature'
value_template: "{{ state_attr('sensor.weatherlink', 'dewpoint_c') }}"