Closed tkupka closed 2 months ago
Jake je prosim nastaveni appdaemon? Jaka verze? Kde bezi? (Na HA nebo samostatne v kontejneru)
Bezi to na RPI4
Raspberry Pi 4
rpi4-64
V HA
-----------------------------------------------------------
Add-on: AppDaemon
Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
-----------------------------------------------------------
Add-on version: 0.16.6
You are running the latest version of this add-on.
System: Home Assistant OS 12.4 (aarch64 / raspberrypi4-64)
Home Assistant Core: 2024.7.1
Home Assistant Supervisor: 2024.06.2
-----------------------------------------------------------
Please, share the above information when looking for help
or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
config:
secrets: /homeassistant/secrets.yaml
appdaemon:
latitude: 52.379189
longitude: 4.899431
elevation: 2
time_zone: Europe/Amsterdam
app_dir: /homeassistant/appdaemon/apps
plugins:
HASS:
type: hass
ha_url: https://<serverURL>:8123
token: XXXX
cert_verify: false
http:
url: http://127.0.0.1:5050
transport: socketio
admin:
api:
hadashboard:
logs:
pnd:
name: pnd
filename: /homeassistant/appdaemon/pnd.log
Můžete ještě použít aktuální verzi skriptu, při inicializaci píše moduly a verze (stačí aktualizovat skript, init proběhne bez restartu AppDaemon) - o to bych ještě poprosil
Posledni zmeny jsou ve skriptu pred 3mi mesici a tim ze jsem to nainstaloval nedavno tak mam posledni verzi (0.9.9). Jinak v instalaci nemate zadne info ze je potreba nekde registrovat senzory. Divil jsem se jak je vytvarite, kdyz mate jenom python script ;-).
Jinak staci sensors.yml
nakopcit do adresare napr packages, ktery mate includnuty v configuration.yml
to vetsinou je kdyz ma clovek tech aplikaci vice
homeassistant:
packages: !include_dir_named packages
Dalsi problem je ze printf nejde do logu na to je treba self.log("Initializing...")
napr. Ale melo by to byt konzoli appdaeomnu a tam nic neni .
jelikoz nikde nebyl zadny log tak to bylo divne... A problem je kompilacniho razu jelikoz mate tam ceske znaky a ja ten pnd.py
nemel v UTF-8, coz jsem si nevsim jeklikoz se mi ceske znaky zobrazovaly normalne.
Nevím zdali úplně rozumím. Je problém vyřešený? Díky za komentáře: ad změna: poslední změna jsou 3 týdny dozadu, díky za verzi, pokud problém přetrvává, prosím po initu skriptu se vypíší moduly,... a jako poslední je informace o chrome driveru
ad senzory: není to nikde zmíněné záměrně, senzor se skriptem vytváří nespravovaný, sensor.yaml,... je experimentální, dle každého potřeby neb každý vytváří senzory jinak a jiným způsobem. Jak budu mít vyřešené dlouhodobé ukládání doplním. ad log: záměrně byl self.log odebrán a nahrazen, aby se vše psalo do konzole appdaemonu, díky tomu, že je to vlastní kontejner, je lepší orientace v informacích při řešení problémů - což je v dokumentaci napsané ad UTF-8: i pokud tam nebudou české znaky (a pokud tam jsou odeberu, to co tam je a musí zůstat, tak je vyčtené z HTML z portálu, který je UTF-8) tak soubor UTF-8 zůstane.
Jinak Log AppDaemonu s logem ze skriptu funguje bez problémů:
appdaemon.yaml
ref na soubor tak jsem predpokladal ze log jde tam.Nakonec se to nastavit povedlo. Ale pri stahovani dat nastala chyba Vzy ten posledni csv soubor je stazeny png obrazek
Viz; daily-production.csv
Log: debug-ELM.txt
Error:
2024-07-12 23:49:55.712099 WARNING pnd: ------------------------------------------------------------
2024-07-12 23:54:23.393978 WARNING pnd: ------------------------------------------------------------
2024-07-12 23:54:23.395005 WARNING pnd: Unexpected error in worker for App pnd:
2024-07-12 23:54:23.395989 WARNING pnd: Worker Ags: {'id': '7e006caf506444bfb631bbecd466183e', 'name': 'pnd', 'objectid': '2dbe2bf4522f48b2867d8615aae7e2ac', 'type': 'event', 'event': 'run_pnd', 'function': <bound method pnd.run_pnd of <pnd.pnd object at 0x7f81902890>>, 'data': {'metadata': {'origin': 'REMOTE', 'time_fired': '2024-07-12T21:52:49.060451+00:00', 'context': {'id': '01J2MEYEX4DW3T4ND6WQXP1DCJ', 'parent_id': None, 'user_id': 'a3ade110a708453d9ee9b21cb6423c46'}}}, 'pin_app': True, 'pin_thread': 3, 'kwargs': {'__thread_id': 'thread-3'}}
2024-07-12 23:54:23.396933 WARNING pnd: ------------------------------------------------------------
2024-07-12 23:54:23.412584 WARNING pnd: Traceback (most recent call last):
File "/usr/lib/python3.11/site-packages/appdaemon/threading.py", line 1095, in worker
funcref(args["event"], data, self.AD.events.sanitize_event_kwargs(app, args["kwargs"]))
File "/homeassistant/appdaemon/apps/pnd/pnd.py", line 513, in run_pnd
data_production = pd.read_csv(self.download_folder + '/daily-production.csv', delimiter=';', encoding='latin1')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv
return _read(filepath_or_buffer, kwds)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 626, in _read
return parser.read(nrows)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 1923, in read
) = self._engine.read( # type: ignore[attr-defined]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/pandas/io/parsers/c_parser_wrapper.py", line 234, in read
chunks = self._reader.read_low_memory(nrows)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "parsers.pyx", line 838, in pandas._libs.parsers.TextReader.read_low_memory
File "parsers.pyx", line 905, in pandas._libs.parsers.TextReader._read_rows
File "parsers.pyx", line 874, in pandas._libs.parsers.TextReader._tokenize_rows
File "parsers.pyx", line 891, in pandas._libs.parsers.TextReader._check_tokenize_status
File "parsers.pyx", line 2061, in pandas._libs.parsers.raise_parser_error
pandas.errors.ParserError: Error tokenizing data. C error: Expected 1 fields in line 4, saw 2
2024-07-12 23:54:23.414453 WARNING pnd: ------------------------------------------------------------
Jo a jeste mala poznamka. Jelikoz DownloadFolder: "/homeassistant/appdaemon/apps/pnd"
je spolecny se scriptem, tak po supsteni vsecko smazlo vcetne pnd.py
;-)
delete_folder_contents(self.download_folder+"/")
dalsi run skoncil trochu jinak:
Ono to asi bude tim ze ten portal je "uzasne rychly" ;-) viz prilozene soubory puvodne csv ale asi pri chybe udelate screenshot
Ruco to stahnu:
Jakmile portal bezi tak vsecko v poradku dobehne:
2024-07-13 00:18:53: File downloaded and saved as: /homeassistant/appdaemon/apps/pnd/data/range-production.csv 13.25 KB
2024-07-13 00:18:53: All Done - INTERVAL DATA DOWNLOADED
2024-07-13 00:18:53: All Done - INTERVAL DATA PROCESSED
2024-07-13 00:18:53: All Done - BROWSER CLOSED
2024-07-13 00:18:53: Sensor State Set to OFF
2024-07-13 00:18:54: Debug Files Zipped
2024-07-13 00:18:54: ********************* Duration: 0:01:53.589890 *********************
2024-07-13 00:18:54: ********************* Finished 0.9.9 *********************
OK, zkusim všechny odpovědi :)
add 1 to se asi udela selenium automaticky pri chybe aby se dalo detekovat v cem je problem. V mojem pripade to bylo tim ze portal je pomaly a nestily se nahrat data add 2 . to byla moje chyba mam tech aplikaci vice tak jsem si v tom chtel udelat poradek a zkonfiguroval jsem to blbe
Takze v podstate je vsecko OK.
Slo by do skriptu pridat stazeni dat 00 Profil spotřeby a výroby + Rv
bylo by to fajn pro korelaci lokalniho mereni a toho co nameril CEZ
Pri inicializaci aplikace skoci s chybou inicialize chrome driveru: