Hej , zerknie ktos na to ? Dlaczego nie rusza mi skrypt ?
Błedów zadnych nie pokazuje…
Chce zeby sprawdzało tem co jakis tam okreslony czas, zapisywalo do excela - at taka moja fanaberia, bardziej w celach dydaktycznych , chociaz moze sie przyda kiedys
Skrypty muszą być uruchamiana z uprawnieniami root
ale to gdzies w configuration.yaml powiniem ustawic ?
Root jest, to nie to chyba
U kolegi ktory ma wersje Home Assistant Core 2022.5.4 działa to jak nalezy.
U mnie Home Assistant 2022.11.2 juz nie.
Cos z tym pythonem inaczej jest…
Skrypt przepisywałeś/kopiowałeś w windows ?
Tak, sprawdzam configuration.yaml wszystko ok, nie wiem oco chodzi kurde ;/
U niego działa u mnie nie
Sugeruje zły znak powrotu typowy dla Windows
spróbuj tego $ sed -i -e 's/\r$//' twojplik.py
Wrzuć ten skrypt tutaj.
#!/usr/bin/python3
from requests import get
import json
import csv
from os.path import exists
from datetime import datetime, timedelta
now = datetime.now()
# ścieżka i nazwa pliku CSV
timestr = datetime.now().strftime("%Y-%m-%d")
FILE_CSV = "/config/temperatura/temperatura_{}.{}".format(timestr,'csv')
#FILE_CSV = "/config/temperatura/temperatura.csv"
# sensory do odczytania
END_POINT_1 = "states/sensor.magazyn_temperature"
END_POINT_2 = "states/sensor.lodowka_temperature"
# serwer HA
HOST = "192.168.0.26"
# adres serwera z HA
url_1 = "http://{}:8123/api/{}".format(HOST, END_POINT_1)
url_2 = "http://{}:8123/api/{}".format(HOST, END_POINT_2)
# HA LIVE TOKEN "Bearer aaaBBBBcccDDDeeeFFF.."
f = open("/config/temperatura/HA_API_KEY.txt", "r")
HA_API_KEY = f.readline()
f.close()
headers={"Authorization": HA_API_KEY,
"content-type": "application/json"
}
response_1 = get(url_1, headers=headers)
response_json_1 = response_1.json()
response_2 = get(url_2, headers=headers)
response_json_2 = response_2.json()
# utwórz plik CSV jeśli nie istnieje
def check_file(file):
if not exists(file):
table_1 = ["last_updated_1", "last_updated_2", "temp_1 in °C", "temp_2 in °C", "data", "godzina"]
with open(file, 'a+', newline='') as file:
writer = csv.writer(file)
writer.writerow(table_1)
file.close()
# zmień strefę czasową na UTC+2
def change_tzone(date_time_str):
date_time_obj = datetime.strptime(date_time_str, '%Y-%m-%dT%H:%M:%S.%f')
date_time_local = date_time_obj + timedelta(hours=2)
return date_time_local
# sprawdź czy plik CSV już istnieje
check_file(FILE_CSV)
last_updated_1 = change_tzone(response_json_1['last_updated'][0:26]).strftime("%Y-%m-%d %H:%M:%S")
last_updated_2 = change_tzone(response_json_2['last_updated'][0:26]).strftime("%Y-%m-%d %H:%M:%S")
state_1 = response_json_1['state']
state_2 = response_json_2['state']
date = now.date()
time = now.time().strftime("%H:%M:%S")
table_2 = [last_updated_1, last_updated_2, state_1, state_2, date, time]
with open(FILE_CSV, 'a+',newline='') as file:
writer = csv.writer(file)
writer.writerow(table_2)
file.close()
moze ja zła sciezke do python podaje ? Skoro u kolegi działa…
Moze byc inna ?
Wklej to co dostaniesz w schowku stamtąd
Ustawienia → System → Naprawy → hamburger menu → Informacje o systemie → popup → KOPIUJ
i poproś tego kolegę na 2022.5.4 by zrobił to samo.
Jeśli uważasz, że to tylko kwestia wersji
(UWAGA przy tak radykalnym cofaniu wersji możesz utracić bazę danych oraz doprowadzić wiele komponentów do braku działania!)
to w terminalu odpal
ha core update --version 2022.5.4
System Health
version: core-2022.5.4
installation_type: Home Assistant Supervised
dev: false
hassio: true
docker: true
user: root
virtualenv: false
python_version: 3.9.9
os_name: Linux
os_version: 5.10.0-9-amd64
arch: x86_64
timezone: Europe/Warsaw
GitHub API: ok
GitHub Content: ok
GitHub Web: ok
GitHub API Calls Remaining: 1260
Installed Version: 1.23.0
Stage: running
Available Repositories: 1158
Downloaded Repositories: 9
logged_in: false
can_reach_cert_server: ok
can_reach_cloud_auth: ok
can_reach_cloud: ok
host_os: Debian GNU/Linux 11 (bullseye)
update_channel: stable
supervisor_version: supervisor-2022.10.2
docker_version: 20.10.9
disk_total: 108.0 GB
disk_used: 13.8 GB
healthy: true
supported: failed to load: Unsupported
supervisor_api: ok
version_api: ok
installed_addons: Mosquitto broker (6.1.2), Zigbee2mqtt (1.25.1-1), File editor (5.3.3), Terminal & SSH (9.4.0), Home Assistant Google Drive Backup (0.108.2), Samba share (9.6.1), Node-RED (12.0.2), Studio Code Server (5.0.6), InfluxDB (4.5.0), Grafana (7.6.0), SQLite Web (3.6.0), FTP (4.6.0), Cloudflared (2.0.16), Z-Wave JS (0.1.74), ESPHome (dev) (dev)
dashboards: 3
resources: 6
views: 9
mode: storage
logged_in: true
can_reach_micloud_server: ok
accounts_count: 3
account_devices_count: 2
added_devices: 1py\
i moje
System Information
version | core-2022.11.2 |
---|---|
installation_type | Home Assistant Supervised |
dev | false |
hassio | true |
docker | true |
user | root |
virtualenv | false |
python_version | 3.10.7 |
os_name | Linux |
os_version | 5.10.0-9-amd64 |
arch | x86_64 |
timezone | Europe/Warsaw |
config_dir | /config |
Home Assistant Community Store
GitHub API | ok |
---|---|
GitHub Content | ok |
GitHub Web | ok |
GitHub API Calls Remaining | 1321 |
Installed Version | 1.28.3 |
Stage | running |
Available Repositories | 1224 |
Downloaded Repositories | 4 |
Home Assistant Cloud
logged_in | false |
---|---|
can_reach_cert_server | ok |
can_reach_cloud_auth | ok |
can_reach_cloud | ok |
Home Assistant Supervisor
host_os | Debian GNU/Linux 11 (bullseye) |
---|---|
update_channel | stable |
supervisor_version | supervisor-2022.10.2 |
agent_version | 1.2.2 |
docker_version | 20.10.9 |
disk_total | 108.0 GB |
disk_used | 8.0 GB |
healthy | true |
supported | true |
supervisor_api | ok |
version_api | ok |
installed_addons | Mosquitto broker (6.1.3), Zigbee2MQTT (1.28.2-1), File editor (5.4.2), Terminal & SSH (9.6.1), Home Assistant Google Drive Backup (0.109.1), Samba share (10.0.0), Node-RED (13.5.2), ZeroTier One (0.15.1), SSH & Web Terminal (12.1.3), ESPHome (dev) (dev) |
Dashboards
dashboards | 1 |
---|---|
resources | 3 |
views | 1 |
mode | storage |
Recorder
oldest_recorder_run | November 10, 2022 at 4:48 PM |
---|---|
current_recorder_run | November 20, 2022 at 9:38 PM |
estimated_db_size | 61.15 MiB |
database_engine | sqlite |
database_version | 3.38.5 |
inna wersja pythona
jeśli nie masz nic do stracenia możesz spróbować downgrade HA core
porównaj też środowiska w których masz to zainstalowane
i przez to sie nie odpala skrypt ?
Kurde a nie ma innego wyjscia oprocz downgrade ?
Lepiej spytaj go jak on to odpalił, bo podejrzewam brak jakiegoś istotnego kroku z twojej strony.
Scieżki w DEB. powinny wyglądać tak
/usr/share/hassio/homeassistant/temperatura/HA_API_KEY.txt
FILE_CSV = “/usr/share/hassio/homeassistant/temperatura/temperatura_{}.{}”.format(timestr, ‘csv’)
Hej Artur,
nie mam takiej sciezki nawet, kupilem gotowca na allegro i chyba jakaś szajsowna instalacja.
probuje wywołac ten skryp przez call developers tools - call service - python_script.tempertura.
Wywala mi znowu jakis bledy dziwne.
Dziwne to wszystko
Cytat
root@debian:/usr/share/hassio/homeassistant/temperatura# sudo python3 temperatura.py
Traceback (most recent call last):
File “/usr/share/hassio/homeassistant/temperatura/temperatura.py”, line 37, in
response_json_1 = response_1.json()
File “/usr/lib/python3/dist-packages/requests/models.py”, line 900, in json
return complexjson.loads(self.text, **kwargs)
File “/usr/lib/python3.9/json/init.py”, line 346, in loads
return _default_decoder.decode(s)
File “/usr/lib/python3.9/json/decoder.py”, line 340, in decode
raise JSONDecodeError(“Extra data”, s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 4 (char 3)
root@debian:/usr/share/hassio/homeassistant/temperatura#
W HA wyskakuje błąd autoryzacji więc skrypt raczej działa