Vraag


Acties:
  • 0 Henk 'm!

  • MadDogMcree21
  • Registratie: Augustus 2023
  • Laatst online: 02-09-2023
Mijn vraag

Heb recent een JB Media weerstation aangeschaft die (volgens handleiding) via HTTP get de gegevens naar Home Assistant moet kunnen sturen, dat krijg ik dus niet voor elkaar.

Volgens de handleiding:

Kan het worden overgedragen naar elk smart home-systeem?
De gegevens kunnen worden overgedragen naar elk systeem dat een HTTP GET kan verwerken. Dit zijn een aantal parameters die via URL worden overgedragen. Deze methode wordt door vrijwel alle smart home-systemen ondersteund. De volgende parameters kunnen als tijdelijke aanduidingen worden ingevoegd:

~temp1~
Temperatuurkanaal 1 *
~temp2~
Temperatuurkanaal 2 *
~temp3~
temperatuur kanaal 3 *
~hum1~
Vochtigheid kanaal 1
~hum2~
Vochtigheidskanaal 2
~hum3~
Vochtigheidskanaal 3
~windsnelheid~
windsnelheid
~windrichting~
windrichting
~regen~
Neerslag per uur *
~regen10~
Neerslag in de afgelopen 10 minuten *
~regen1~
Neerslag in de laatste minuut *
~regen~
totale regenval
~lowbat1~
Batterijstatus laag kanaal 1
~lowbat2~
Batterijstatus laag kanaal 2
~lowbat3~
Batterijstatus laag kanaal 3
~id1~
Willekeurige ID voor kanaal 1
~id2~
Willekeurige ID voor kanaal 2
~id3~
Willekeurige ID voor kanaal 3

(*) Deze waarden hebben een decimaal, dat zonder komma wordt toegevoegd. Voorbeeld: 25,3°C wordt verzonden als 253.

Bovendien zijn alle gegevens beschikbaar onder de URL http://192.168.xxx.xxx/data.json . Een evaluatie is bijvoorbeeld mogelijk met behulp van eenvoudige Javascript-functies.

Tot zover de handleiding.

Als ik de data.json via de link opvraag krijg ik het volgende:

{
"mac": " (VERWIJDERD)",
"ssid": "(VERWIJDERD)",
"firmversion": "1.4",
"windspeed": "0",
"winddir": "157",
"rain": "23",
"rainh": "0.0",
"rain1": "0.0",
"rain10": "0.0",
"temperature1": "21.8",
"temperature2": "0.0",
"temperature3": "0.0",
"humidity1": "59",
"humidity2": "0",
"humidity3": "0",
"lowbat1": "0",
"lowbat2": "0",
"lowbat3": "0",
"id1": "EB",
"id2": "00",
"id3": "00",
"target1": "",
"target2": "",
"target3": ""
}

Mijn vraag is hoe ik deze sensoren kan inlezen is Home Assistant??

Wat ik al gevonden of geprobeerd heb:

De Home Assistant RESTful Commands gevolgd en dan worden de sensoren in Home Assistant toegevoegd MAAR als ik de sensoren opvraag krjg ik een status UNKNOWN en geen data.

Is hier iemand die me hier mee kan helpen?
Mocht er verdere informatie nodig zijn hoor ik het graag.

Beste antwoord (via MadDogMcree21 op 01-09-2023 13:08)


  • alex3305
  • Registratie: Januari 2004
  • Nu online
Klopt je resource_url nog wel? Want in je eerste post zeg je dat het gaat om http://192.168.2.5/data.json. Dat zie ik echter niet terug in je laatste post. En wat zie je in de logging van Home Assistant? Want daar zou dan een fout in moeten komen met wat er precies misgaat.

Alle reacties


Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Nu online
Je kunt in Home Assistant op twee manieren RESTful sensoren toevoegen:
  1. REST API
  2. RESTful Sensor
De REST API (1) gegevens kun je pushen naar Home Assistant en met de RESTful Sensor (2) pull je (JSON) gegevens van een externe bron. Bij 1 heb je het grote nadeel dat deze sensor verdwijnt na een restart van Home Assistant. Dat is niet altijd even handig. Ik zou dus, wanneer mogelijk, voor optie 2 gaan.

Wat veel mensen doen is de gegevens ophalen via JSON en deze data als sensor data opslaan. Dan hoef je namelijk niet x-aantal API calls te doen naar je weerstation. Je kunt daarna dan met een Template Sensor de data verwerken tot individuele sensoren.

Overigens ben ik wel benieuwd welk weerstation je nu hebt gekocht, aangezien ik niets vind op Google op "JBL Media weerstation"

Acties:
  • 0 Henk 'm!

  • MadDogMcree21
  • Registratie: Augustus 2023
  • Laatst online: 02-09-2023
De link (als ik die hier mag delen)

https://www.jbmedia.eu/faq/wetterstation/

De configuration.yaml waar ik mee aan het testen ben is als volgd:

# Test Weather Station
rest:
- resource: http://192.168.***.***
sensor:
- name: "mac"
value_template: "{{ data.json.mac }}"

- name: "ssid"
value_template: "{{ data.json.ssid }}"

- name: "firmversion"
value_template: "{{ data.json.firmversion }}"

- name: "windspeed"
value_template: "{{ data.json.windspeed }}"
device_class: wind_speed
unit_of_measurement: "km/h"

- name: "winddir"
value_template: "{{ data.json.winddir }}"

- name: "rain"
value_template: "{{ data.json.rain }}"
device_class: precipitation
unit_of_measurement: "mm"

- name: "rainh"
value_template: "{{ data.json.rainh }}"
device_class: precipitation
unit_of_measurement: "mm"

- name: "rain1"
value_template: "{{ data.json.rain1 }}"
device_class: precipitation
unit_of_measurement: "mm"

- name: "rain10"
value_template: "{{ data.json.rain10 }}"
device_class: precipitation
unit_of_measurement: "mm"

- name: "temperature1"
value_template: "{{ data.json.temperature1 }}"
unit_of_measurement: "°C"
device_class: temperature

- name: "temperature2"
value_template: "{{ data.json.temperature2 }}"
unit_of_measurement: "°C"
device_class: temperature

- name: "temperature3"
value_template: "{{ data.json.temperature3 }}"
unit_of_measurement: "°C"
device_class: temperature

- name: "humidity1"
value_template: "{{ data.json.humidity1 }}"
unit_of_measurement: "%"
device_class: humidity

- name: "humidity2"
value_template: "{{ data.json.humidity2 }}"
unit_of_measurement: "%"
device_class: humidity

- name: "humidity3"
value_template: "{{ data.json.humidity3 }}"
unit_of_measurement: "%"
device_class: humidity

- name: "lowbat1"
value_template: "{{ data.json.lowbat1 }}"

- name: "lowbat2"
value_template: "{{ data.json.lowbat2 }}"

- name: "lowbat3"
value_template: "{{ data.json.lowbat3 }}"

- name: "id1"
value_template: "{{ data.json.id1 }}"

- name: "id2"
value_template: "{{ data.json.id2 }}"

- name: "id3"
value_template: "{{ data.json.id3 }}"

- name: "target1"
value_template: "{{ data.json.target1 }}"

- name: "target2"
value_template: "{{ data.json.target2 }}"

- name: "target3"
value_template: "{{ data.json.target3 }}"

[ Voor 94% gewijzigd door MadDogMcree21 op 29-08-2023 21:24 ]


Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Nu online
Ik denk dat je toch nog even de documentatie moet lezen. Ik zie bij jou namelijk overal: data.json. staan, terwijl in de documentatie duidelijk value_json. staat. Eerlijk gezegd denk ik dat dit nu het grootste probleem is.

Daarnaast kun je je code in [code]-tags plaatsen. Dat leest wat makkelijker ;).

Acties:
  • 0 Henk 'm!

  • MadDogMcree21
  • Registratie: Augustus 2023
  • Laatst online: 02-09-2023
Alex3305, ik heb zowel de data.json als de value,json geprobeerd maar dit maakt geen verschil, mijn idee was dat ik een data.json uit het weerstation krijg ik hier in HA naar moest refereren.

Zoals je merkt ben ik een absolute beginner in het programmeren in HA evenals API, dus ik moet het een beetje hebben van "trial and error" en gelukkig help studio code server me al een heel eind maar dit gaat me duidelijk boven de pet.

Heb dit weerstation eigenlijk aangeschaft vanwege de koppeling met Shelly, dit werkt goed maar is me te beperkt en dacht dat HA hier een mogelijke oplossing voor zou kunnen bieden (er zullen andere weer mogelijkheden zijn die een betere integratie hebben in HA) maar het idee is dat het display van het weerstation de "in één oogopslag" bekijken en HA/Shelly op de achtergrond de "automatisering" voor zijn rekening gaat nemen

Acties:
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Nu online
Ik weet niet wat jij al geprobeerd hebt hè ;). Daarnaast moet je opletten dat dit value_json is en geen value.json zoals je zelf aangeeft.

Ik zou je aanraden om met 1 waarde te beginnen. En let op dat Home Assistant er soms even over kan doen voordat deze data binnenhengelt na het opstarten. Je kunt dit wel forceren met de homeassistant.update_entity dienst.

Acties:
  • 0 Henk 'm!

  • MadDogMcree21
  • Registratie: Augustus 2023
  • Laatst online: 02-09-2023
Heb het geprobeerd maakt helaas geen verschil 8)7 , de code zoals deze nu is:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Test Weather Station
rest:
  - resource: http://192.168.2.5
    sensor:
      - name: mac
        value_template: "{{ value_json.mac }}"
      
      - name: ssid
        value_template: "{{ value_json.ssid }}"
      
      - name: firmversion
        value_template: "{{ value_json.firmversion }}"
      
      - name: windspeed
        value_template: "{{ value_json.windspeed }}"
        device_class: wind_speed
        unit_of_measurement: "km/h"
      
      - name: winddir
        value_template: "{{ value_json.winddir }}"
      
      - name: rain
        value_template: "{{ value_json.rain }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: rainh
        value_template: "{{ value_json.rainh }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: rain1
        value_template: "{{ value_json.rain1 }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: rain10
        value_template: "{{ value_json.rain10 }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: temperature1
        value_template: "{{ value_json.temperature1 }}"
        unit_of_measurement: "°C"
        device_class: temperature
      
      - name: temperature2
        value_template: "{{ value_json.temperature2 }}"
        unit_of_measurement: "°C"
        device_class: temperature
      
      - name: temperature3
        value_template: "{{ value_json.temperature3 }}"
        unit_of_measurement: "°C"
        device_class: temperature
        
      - name: humidity1
        value_template: "{{ value_json.humidity1 }}"
        unit_of_measurement: "%"
        device_class: humidity
        
      - name: humidity1
        value_template: "{{ value_json.humidity2 }}"
        unit_of_measurement: "%"
        device_class: humidity
        
      - name: humidity3
        value_template: "{{ value_json.humidity3 }}"
        unit_of_measurement: "%"
        device_class: humidity
      
      - name: lowbat1
        value_template: "{{ value_json.lowbat1 }}"
                
      - name: lowbat2
        value_template: "{{ value_json.lowbat2 }}"
                
      - name: lowbat3
        value_template: "{{ value_json.lowbat3 }}"
                
      - name: id1
        value_template: "{{ value_json.id1 }}"
                
      - name: id2
        value_template: "{{ value_json.id2 }}"
                
      - name: id3
        value_template: "{{ value_json.id3 }}"
                
      - name: target1
        value_template: "{{ value_json.target1 }}"
                
      - name: target2
        value_template: "{{ value_json.target2 }}"
                
      - name: target3
        value_template: "{{ value_json.target3 }}"

Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • alex3305
  • Registratie: Januari 2004
  • Nu online
Klopt je resource_url nog wel? Want in je eerste post zeg je dat het gaat om http://192.168.2.5/data.json. Dat zie ik echter niet terug in je laatste post. En wat zie je in de logging van Home Assistant? Want daar zou dan een fout in moeten komen met wat er precies misgaat.

Acties:
  • 0 Henk 'm!

  • MadDogMcree21
  • Registratie: Augustus 2023
  • Laatst online: 02-09-2023
Dat was de oplossing (duhh :F )

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
# Weather Station
rest:
  - resource: http://192.168.2.5/data.json
    sensor:
      - name: mac
        value_template: "{{ value_json.mac }}"
      
      - name: ssid
        value_template: "{{ value_json.ssid }}"
      
      - name: firmversion
        value_template: "{{ value_json.firmversion }}"
      
      - name: windspeed
        value_template: "{{ value_json.windspeed }}"
        device_class: wind_speed
        unit_of_measurement: "km/h"
      
      - name: winddir
        value_template: "{{ value_json.winddir }}"
      
      - name: rain
        value_template: "{{ value_json.rain }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: rainh
        value_template: "{{ value_json.rainh }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: rain1
        value_template: "{{ value_json.rain1 }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: rain10
        value_template: "{{ value_json.rain10 }}"
        device_class: precipitation
        unit_of_measurement: "mm"
      
      - name: temperature1
        value_template: "{{ value_json.temperature1 }}"
        unit_of_measurement: "°C"
        device_class: temperature
      
      - name: temperature2
        value_template: "{{ value_json.temperature2 }}"
        unit_of_measurement: "°C"
        device_class: temperature
      
      - name: temperature3
        value_template: "{{ value_json.temperature3 }}"
        unit_of_measurement: "°C"
        device_class: temperature
        
      - name: humidity1
        value_template: "{{ value_json.humidity1 }}"
        unit_of_measurement: "%"
        device_class: humidity
        
      - name: humidity1
        value_template: "{{ value_json.humidity2 }}"
        unit_of_measurement: "%"
        device_class: humidity
        
      - name: humidity3
        value_template: "{{ value_json.humidity3 }}"
        unit_of_measurement: "%"
        device_class: humidity
      
      - name: lowbat1
        value_template: "{{ value_json.lowbat1 }}"
                
      - name: lowbat2
        value_template: "{{ value_json.lowbat2 }}"
                
      - name: lowbat3
        value_template: "{{ value_json.lowbat3 }}"
                
      - name: id1
        value_template: "{{ value_json.id1 }}"
                
      - name: id2
        value_template: "{{ value_json.id2 }}"
                
      - name: id3
        value_template: "{{ value_json.id3 }}"
                
      - name: target1
        value_template: "{{ value_json.target1 }}"
                
      - name: target2
        value_template: "{{ value_json.target2 }}"
                
      - name: target3
        value_template: "{{ value_json.target3 }}"


Dank voor de hulp alex3305 _/-\o_ hier was ik nooit uit gekomen, ik heb nog wat leeswerk voor de boeg..........
Pagina: 1