Skip to content

Instantly share code, notes, and snippets.

@theundefined
Last active March 27, 2024 22:36
Show Gist options
  • Save theundefined/582873b0e94118fa02165253080cbcb4 to your computer and use it in GitHub Desktop.
Save theundefined/582873b0e94118fa02165253080cbcb4 to your computer and use it in GitHub Desktop.
Inpost air
Skrypt bin/inpost_air.py:
```
#!/usr/bin/env python
import requests
import sys
import json
url = sys.argv[1]
headers = { 'X-Requested-With': 'XMLHttpRequest' }
x = requests.post(url,headers=headers).json()
o={}
for i in x['air_sensors']:
isplited=i.split(':')
o[isplited[0]]=isplited[1]
print(json.dumps(o))
```
Konfiguracja w HA
```
- platform: command_line
name: 'Inpost Druskiennicka'
command: "python3 /config/bin/inpost_air.py https://inpost.pl/shipx-point-data/46960/POZ243M/air_index_level"
value_template: '{{ value_json.PM25 }}'
json_attributes:
- PM1
- PM25
- PM10
- HUMIDITY
- TEMPERATURE
- PRESSURE
- platform: template
sensors:
inpost_druskiennicka_pm10:
value_template: '{{ states.sensor.inpost_druskiennicka.attributes["PM10"] }}'
unit_of_measurement: 'µg/m³'
inpost_druskiennicka_pm25:
value_template: '{{ states.sensor.inpost_druskiennicka.attributes["PM25"] }}'
unit_of_measurement: 'µg/m³'
inpost_druskiennicka_temperature:
value_template: '{{ states.sensor.inpost_druskiennicka.attributes["TEMPERATURE"] }}'
unit_of_measurement: '°C'
```
@JMuffin
Copy link

JMuffin commented May 6, 2023

command: "python3 /config/bin/inpost_air.py https://inpost.pl/shipx-point-data//46960/POZ243M/air_index_level"

U mnie bez wskazania python3 nie chciało ruszyć :/

@theundefined
Copy link
Author

command: "python3 /config/bin/inpost_air.py https://inpost.pl/shipx-point-data//46960/POZ243M/air_index_level"

U mnie bez wskazania python3 nie chciało ruszyć :/

Słuszna uwaga - trzeba albo ustawić uprawnienia (chmod +x) do programu, albo uruchomić przez python3 :-) Dodałem python3 do przykładu.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment