FOSHKplugin

Für Geräte von froggit
Benutzeravatar
gms2k
Offline
Beiträge: 62
Registriert: 21 Feb 2021, 11:20
Wohnort: Trochtelfingen/Schwäbische Alb
Hat sich bedankt: 2 mal
Danksagung erhalten: 7 mal
Kontaktdaten:

Re: FOSHKplugin

#391

Beitrag von gms2k »

Moin,

kleines Problem, nach dem upgrade meines MINI PC´s von Linux Mint 21.3 auf 22 "Wilma" hat FOSHKplugin den Betrieb eingestellt, habs dadurch gemerkt das seit dem Upgrade keine Daten mehr in PWS und HA eintrudeln.

Ganz offensichtlich und den warnings nach wurde wohl an python bzw pip in 22 einiges geändert,
somit hilft auch ein -repair oder upgrade des plugins nicht.

Hat das Problem noch jemand und gibt es eventuell schon ein Workaround @olicat ?

Gruß Georg
Benutzeravatar
olicat
Offline
Beiträge: 2363
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 41 mal
Danksagung erhalten: 477 mal
Kontaktdaten:

Re: FOSHKplugin

#392

Beitrag von olicat »

Hi!

Was passiert denn beim Start von FOSHKplugin? Gibt es eine Fehlermeldung?
Welche FOSHKplugin-Version setzt Du ein? Die aktuelle Beta v0.10 sollte mit dem aktuellen pip klarkommen.

Oliver
Benutzeravatar
gms2k
Offline
Beiträge: 62
Registriert: 21 Feb 2021, 11:20
Wohnort: Trochtelfingen/Schwäbische Alb
Hat sich bedankt: 2 mal
Danksagung erhalten: 7 mal
Kontaktdaten:

Re: FOSHKplugin

#393

Beitrag von gms2k »

Beim Start passiert gar nichts, springt wieder in den prompt ohne Meldung. bei -repair kommt error: externally-managed-environment, scheinbar wird nur noch virtual environment unterstützt. Beim Ausführen der py kommen jede Menge SyntaxWarnings.

Allerdings habe ich die stable v0.09, die beta versuche ich morgen mal.

Update: Habs doch gleich getestet, die beta v0.10 funktioniert tatsächlich, alles wieder im Lot. :thumbup:

Danke !

Gruß Georg
ProfMobilux
Offline
Beiträge: 14
Registriert: 29 Jul 2024, 21:07
Hat sich bedankt: 2 mal
Danksagung erhalten: 5 mal

Re: FOSHKplugin

#394

Beitrag von ProfMobilux »

Ich versuche ein TAGFILE für das Wetternetz Sachsen (https://www.wetternetz-sachsen.de/) zu erstellen, um dort per HTTP Get die Daten einzuliefern. Ich scheitere aber immer an der Fehlermeldung

Code: Alles auswählen

09.11.2024 08:44:16.236 <ERROR> FWD-38: save to /opt/loxberry/data/plugins/foshkplugin/ : no input file specified
Ich habe bereits absolute Pfade zum Infile verwendet und auch die Beispiele aus der Hilfe 1:1 kopiert - immer die gleiche Fehlermeldung. Vielleicht sieht ja jemand den Fehler von mir...

Forward sieht so aus:

Code: Alles auswählen

[Forward-38]
FWD_ENABLE = True
FWD_CMT = TAGFILE Pool via FTP
FWD_OPTION = config=tag-def_wns.conf
FWD_INTERVAL = 60
FWD_IGNORE =
FWD_TYPE = TAGFILE
FWD_EXEC =
FWD_URL = /opt/loxberry/log/plugins/foshkplugin/
Tag Definition tag-def_wns.conf (liegt in /opt/loxberry/conf/plugins/foshkplugin/):

Code: Alles auswählen

[Tagfile]
infile = infile_wns.txt
outfile = outfile_wns.txt
append = False
task = save
tag = [[@keyname]]
postscript =  ""
dtime_format = "%A, %d.%m.%Y %H:%M"
locale_format = ""
pre_count = ""
dec_count = ""
dec_separator default = .
Und das Infile infile_wns.txt (liegt in /opt/loxberry/conf/plugins/foshkplugin/) - nur als Beispiel aus der Hilfe kopiert:

Code: Alles auswählen

time;aqtime;temperature;temp min;temp min time;temp max;temp max time;humidity;pressure;pressure min;pressure min time;pressure max;pressure max time
[[@time]];[[@aqtime]];[[@tempc]];[[@tempc_min]];[[@tempc_min_time]];[[@tempc_max]];[[@tempc_max_time]];[[@humidity]];[[@baromrelhpa]];[[@baromrelhpa_min]];[[@baromrelhpa_min_time]];[[@baromrelhpa_max]];[[@baromrelhpa_max_time]]
Benutzeravatar
olicat
Offline
Beiträge: 2363
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 41 mal
Danksagung erhalten: 477 mal
Kontaktdaten:

Re: FOSHKplugin

#395

Beitrag von olicat »

Moin,

welche Version von FOSHKplugin setzt Du ein?
Ich habe Deine Daten 1:1 uebernommen und nur die Pfade (FWD_URL und die Speicherorte) angepasst. Das Ergebnis ist eine Datei outfile_wns.txt mit folgendem Inhalt:

Code: Alles auswählen

time;aqtime;temperature;temp min;temp min time;temp max;temp max time;humidity;pressure;pressure min;pressure min time;pressure max;pressure max time
Samstag, 09.11.2024 09:04;Samstag, 09.11.2024 09:04;3.4;3.2;Samstag, 09.11.2024 08:17;4.7;Samstag, 09.11.2024 00:00;92;1030.0;1029.09;Samstag, 09.11.2024 08:11;1030.82;Samstag, 09.11.2024 01:08
Im snd-Log gibt es keine Fehlermeldung, stattdessen:

Code: Alles auswählen

09.11.2024 09:06:00.454 FWD-38: save to /home/engel/Documents/Daten/Haus/Verkabelung/Wetterstation/Froggit-Projekt/GW2000-FOSHKplugin/outfile_wns.txt : OK
Ansonsten kann es sich nur noch um ein Problem bei den Pfaden oder den entsprechenden Rechten handeln.

Oliver
ProfMobilux
Offline
Beiträge: 14
Registriert: 29 Jul 2024, 21:07
Hat sich bedankt: 2 mal
Danksagung erhalten: 5 mal

Re: FOSHKplugin

#396

Beitrag von ProfMobilux »

Hallo Oli,

ich bin der mit der LoxBerry Wetterstation ;-) Ich nutze die 0.10 Beta:

prgname = "FOSHKplugin"
prgver = "v0.10"
betaver = " Beta 240921"

Die Verzeichnisse sind ja alle durch das FOSHKplugin beschreibbar - er überschreibt ja auch seine eigene Config. Wenn ich den Sourcecode richtig verstanden habe, ist bei der Fehlermeldung die Variable "infile" leer ( = ""). Das verstehe ich halt nicht...

Ich installiere das FOSHKplugin mal neu.
ProfMobilux
Offline
Beiträge: 14
Registriert: 29 Jul 2024, 21:07
Hat sich bedankt: 2 mal
Danksagung erhalten: 5 mal

Re: FOSHKplugin

#397

Beitrag von ProfMobilux »

So, ich habe es hingebracht. Es sind (zumindestens im LoxBerry) absolute anstatt von relativen Pfaden notwendig! In der Hilfe stehen aber überall nur relative Pfade drin. Das war mal mein erster Denkfehler. So sieht es jetzt aus:

Meine foshkplugin.conf:

Code: Alles auswählen

[Forward-38]
FWD_ENABLE = True
FWD_CMT = TAGFILE Pool via FTP
FWD_OPTION = config=/opt/loxberry/config/plugins/foshkplugin/tag-def_wns.conf
FWD_URL = /opt/loxberry/log/plugins/foshkplugin/
FWD_INTERVAL = 60
FWD_IGNORE =
FWD_TYPE = TAGFILE
FWD_EXEC =
Tag-Defintion:

Code: Alles auswählen

[Tagfile]
infile = /opt/loxberry/config/plugins/foshkplugin/infile_wns.txt
outfile = /opt/loxberry/log/plugins/foshkplugin/outfile_wns.txt
append = False
task = save
tag = [[@keyname]]
postscript =  ""
dtime_format = "%A, %d.%m.%Y %H:%M"
locale_format = ""
pre_count = ""
dec_count = ""
dec_separator default = .
Damit kommt:

Code: Alles auswählen

09.11.2024 17:37:30.742 FWD-38: save to /opt/loxberry/log/plugins/foshkpluginoutfile_wns.txt : OK
Mein zweiter Denkfehler bzw. was ich nicht verstehe:

Wozu dient überhaupt die Option FWD_URL in der foshkplugin.conf wenn ich nur in ein File speichern will und nicht per ftp/http weiter senden möchte? Die scheint mir zum Speichern der Datei überhaupt nicht notwendig bzw. wird ignoriert:

Code: Alles auswählen

FWD_URL = /opt/loxberry/log/plugins/foshkplugin/
Der Pfad wird nicht verwendet. In der Hilfe steht dazu aber "# you may specify a local path, a ftp or http address", das hat mich total auf die falsche Fährte gelenkt.
Benutzeravatar
olicat
Offline
Beiträge: 2363
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 41 mal
Danksagung erhalten: 477 mal
Kontaktdaten:

Re: FOSHKplugin

#398

Beitrag von olicat »

Hi!

Der Nachteil bei relativen Pfaden ist immer, man weiss nicht genau, wo man ist.
In einer Standard-Installation (generic) von FOSHKplugin liegen Programm foshkplugin.py und Config-Datei foshkplugin.conf im selben Verzeichnis. Wie auch alle anderen notwendigen Dateien.
Im LoxBerry ist das deutlicher strukturierter - da muessen dann eben auch die in- und out-Files an den korrekten Orten stehen - sonst werden diese nicht gesehen und eingelesen.
Ohne Angabe eines Verzeichnisses erwartet Python zusaetzlich angesprochene Dateien im Verzeichnis des Programms.
Logischer waere natuerlich die Suche im Config-Verzeichnis, sofern kein absoluter Pfad angegeben wurde. Ich muesste dann aber erraten, was der Nutzer eigentlich will (etwa, wenn es die Datei sowohl unter config als auch unter data gibt).
Knifflig. Ich muss mal gucken, wie ich das hinbekomme.
Vermutlich ist es aber einfacher, bei LoxBerry auf die Verwendung von absoluten Pfaden hinzuweisen.
In der Hilfe steht dazu aber "# you may specify a local path, a ftp or http address", das hat mich total auf die falsche Fährte gelenkt.
Auch das muss ich mir wohl nochmal anschauen.
Tatsechlich wird die FWD_URL nur fuer http- und ftp-Transfers aktiv genutzt. Allerdings darf FWD_URL auch nicht leer sein, sonst wird der Forward nicht ausgefuehrt.
Ich hatte mir da bestimmt was gedacht ...

Wichtigste Frage:
Kannst Du denn nun ueber einen TAGFILE-Forward auch das Wetternetz Sachsen mit Daten beliefern?
Ich wuerde erwarten, das Du als FWD_URL die Adresse des Wetternetz Sachsen angeben und in der Tag-Konfiguration statt task = save ein task = GET eintragen musst.
Wahrscheinlich klappt das auch, wenn wie bisher als task = save angegeben ist (dann erfolgt der Versand per http/GET zusaetzlich zur Erzeugung des Ausgabefiles).

Oliver
ProfMobilux
Offline
Beiträge: 14
Registriert: 29 Jul 2024, 21:07
Hat sich bedankt: 2 mal
Danksagung erhalten: 5 mal

Re: FOSHKplugin

#399

Beitrag von ProfMobilux »

Ich denke auch, dass einfach ein zusätzlicher Hinweis in der Hilfe zu den absoluten Pfaden ausreicht. Ich ergänze das im Wiki.

Ans Wetternetzwerk Sachsen mache ich mich als nächstes. Musste ja erst einmal das grundsätzliche Problem lösen ;-) Wenn das klappt, würde ich es auch im Wiki ergänzen.
ProfMobilux
Offline
Beiträge: 14
Registriert: 29 Jul 2024, 21:07
Hat sich bedankt: 2 mal
Danksagung erhalten: 5 mal

Re: FOSHKplugin

#400

Beitrag von ProfMobilux »

Der Functionblock dtime funktioniert bei mir nicht wie erwartet. Er gibt immer einen Unix Timestamp aus. tdiff funktioniert hingegen wie erwartet:

Code: Alles auswählen

[[@[dtime(@time,%H:%M:%S)]]]
[[@[tdiff(@time,%H:%M:%S)]]]
Das ergibt:

Code: Alles auswählen

1731226287
08:11:27
Dann vielleicht noch ein weiterer Bug:

Setzt man in der Config "LOX_TIME = True", dann bekommt man die Loxtime nicht nur im Tag "loxtime" sondern auch im Tag "time", was ihn dann aber unbrauchbar macht. Erwartet hätte ich, dass time weiterhin einen Unix Timestamp enthält und loxtime den Loxone-Timestamp.
Antworten