FOSHKplugin

Für Geräte von froggit
Benutzeravatar
Gyvate
Offline
Beiträge: 2479
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 375 mal
Kontaktdaten:

Re: FOSHKplugin

#81

Beitrag von Gyvate »

Dann ist ja das in der Anleitung ergänzte PowerShell Skript als Startup-Skript ausreichend, um den WSL-IP Wechsel abzufangen. :thumbup: - Nur nach einem Windows Stand-By müsste es manuell angestossen werden. Ein WSL-Stand-By sollte ja nicht vorkommen, wenn FOSHKplugin als Service läuft.
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: FOSHKplugin

#82

Beitrag von olicat »

Hi!

Interessant (aber auch logisch):
Auf dem WSL-Host selbst kann man die Webdienste von FOSHKplugin ebenfalls unabhaengig von der jeweilgen IP-Adresse der WSL-Instanz nutzen:

Code: Alles auswählen

http://localhost:8080/status&minmax&refresh=30
Mit localhost in der Adresse koennen also auch alle anderen Web-Befehle von FOSHKplugin genutzt werden.
Solange der Portforward innerhalb des WSL-Hostes passt, ist auch fuer die Wetterstation die eigentliche IP-Adresse der Instanz irrelevant.
Denn die Station selbst schickt die Daten ja zum WSL-Host (der dann aber die eingehenden Pakete zur Instanz schicken muss).
Daher ist dieser netsh-Befehl auch so wichtig.

Oliver
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: FOSHKplugin

#83

Beitrag von olicat »

Hi!
Eine Automatisierung der entsprechenden Änderungen (sofern möglich) ist in Arbeit.
Hier ein Script das das Port-Forwarding auch bei wechselnder IP-Adresse korrekt wiederherstellen sollte:

Code: Alles auswählen

# setFOSHKpluginProxy4WSL.ps1
# this script should be started with administrator privileges on every Windows start (scheduler)
# Oliver Engel, 05.01.2022

# port on which FOSHKplugin awaits data from the weather station
$httpPort = 8080

# reset current settings
netsh interface portproxy reset

# set portproxy to send all incoming traffic at port httpPort to the same port on WSL virtual machine
netsh interface portproxy add v4tov4 listenport=$httpPort listenaddress=0.0.0.0 connectport=$httpPort connectaddress=127.0.0.1
Das Script sollte in der Aufgabenplanung von Windows als Administrator bei jedem Start von Windows (oder bei Netzwerkverfuegbarkeit) gestartet werden.

Das Script selbst habe ich getestet. Jedoch nicht per Aufgabenverwaltung.

Update: Nach Hinweis von Werner deutlich vereinfacht. Danke!

Oliver
Zuletzt geändert von olicat am 05 Jan 2022, 12:34, insgesamt 1-mal geändert.
Benutzeravatar
Werner
Offline
Beiträge: 115
Registriert: 07 Dez 2020, 18:23
Wohnort: Lackenhäuser
Danksagung erhalten: 30 mal
Kontaktdaten:

Re: FOSHKplugin

#84

Beitrag von Werner »

Warum macht Ihr es so kompliziert?

Code: Alles auswählen

netsh interface portproxy add v4tov4 listenport=80 connectaddress=127.0.0.1
netsh interface portproxy add v4tov4 listenport=8080 connectaddress=127.0.0.1
... bei funktioniert das jedenfalls einwandfrei.
Apache2 läuft hier auf Port 80 und die Seite kann man ohne Probleme mit
http://%Rechnername% erreichen oder auf dem Computer selbst mit http://localhost
Voraussetzung das %Rechnername% auch aufgelöst werden kann (z.b. Router-Eintrag)
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: FOSHKplugin

#85

Beitrag von olicat »

Hallo Werner, Gesundes Neues Jahr!
Warum macht Ihr es so kompliziert?
Tatsaechlich!
Mir war nicht klar, das Windows das Geraffel tatsaechlich nicht IP-seitig trennt.
Das ist natuerlich noch viel einfacher - ein etwaiger IP-Wechsel ist dann voellig egal.
Guter Hinweis, danke!
Somit kann man dann natuerlich auch unter Angabe der IP-Adresse des Wirts auch von beliebigen anderen Clients im LAN auf den FOSHKplugin-Web-Service zugreifen (bei Dir auf den Apache).
Sehr schoen.

Nutzt Du fuer den Apache dann auch den systemd-Ersatz oder wie machst Du das?

Oliver
Benutzeravatar
Werner
Offline
Beiträge: 115
Registriert: 07 Dez 2020, 18:23
Wohnort: Lackenhäuser
Danksagung erhalten: 30 mal
Kontaktdaten:

Re: FOSHKplugin

#86

Beitrag von Werner »

@Oliver
Nutzt Du fuer den Apache dann auch den systemd-Ersatz oder wie machst Du das?
Jein - funktioniert bei mir nicht - bekomme permision denied.
Hab aber noch nicht untersucht warum dass so ist.
Mache es momentan über ein eigenes Shell-Script: services.sh im Home-Verzeichnis

Code: Alles auswählen

#!/bin/bash
# Start Services if not running

[ "`service syslog-ng status | sed 's/.*not running.*/nok/'`" == "nok" ] && sudo service syslog-ng start
[ "`service dbus status | sed 's/.*not running.*/nok/'`" == "nok" ] && sudo service dbus start
[ "`service cron status | sed 's/.*not running.*/nok/'`" == "nok" ] && sudo service cron start
[ "`service ssh status | sed 's/.*not running.*/nok/'`" == "nok" ] && sudo service ssh start
[ "`service apache2 status | sed 's/.*not running.*/nok/'`" == "nok" ] && sudo service apache2 start
Starten dann WSL mit:

Code: Alles auswählen

wsl.exe bash ~/services.sh
neuling10
Offline
Beiträge: 4
Registriert: 05 Jan 2022, 18:18

Re: FOSHKplugin

#87

Beitrag von neuling10 »

Hallo zusammen,

nach diversen Recherchen wurde ich auf das FOSHKplugin aufmerksam, dass meine Erwartung theoretisch zu 100% abdeckt. Dafür schon mal ein großes Dankeschön für die Entwicklung.

Leider stehe ich noch bei der Konfiguration an.

Folgende Umgebung:
- Raspi 4 mit Pi OS Lite, auf Docker Container laufen OpenHAB, InfluxDB, Grafana und MQTT als Container in einer Portainer-Umgebung. Läuft derzeit noch mit SD Card, SSD Umstieg ist geplant
- GW1000A, die vormals Daten über Meteobridge an einem eigenen Raspi an WU, AmbientWeather und Ecowitt sendete
- Neben der Außenstation weitere Sensoren (Blitzsensor, Bodenfeuchtesendor, Luftqualitätssensor, Innensensoren (Temperatur, Luftfeuchtigkeit), die alle an den GW1000 angebunden sind
- Synology NAS
- FritzBox

Ziel:
- Raspi mit Meteobridge entfällt, Nachteil ist auch dass Meteobridge nur minütlich Daten nach AmbientWeather exportiert, obwohl AmbientWeather mit einem Binding sehr gut in OpenHAB integrierbar wäre
- FOSHKplugin (generic) auf einem Raspi gemeinsam mit OpenHAB und den Docker Containern laufen lassen
- Wetterdaten sollen alle 10 Sekunden sämtliche Sensordaten an die InfluxDB senden
- Senden der Daten an MQTT und Auslösen von Aktionen via MQTT auf OpenHAB

Problemstellung:
Auf dem OpenHAB-Raspi habe ich das FOSHKplugin soweit erfolgreich installiert.
http://<IP>:8081/ und /observations/current/json/units=m geben mir leider nichts bzw. nur null-Werte aus
/FOSHKplugin/state meldet "running" zurück

Hat jemand eine Idee, warum ich keine Wetterdaten erhalte?

Anbei meine Config-Datei ohne IPs.

Sorry, sollte ich noch etwas unklar formuliert haben, ich bin noch ein kompletter Neuling und beschäftige mich erst knapp ein Monat mit Linux und div. Smart Home Anwendungen auf Linux (openHAB, MQTT, InfluxDB usw.)... :-)

Grüße
Bernhard
Dateianhänge
foshkpluginconf.txt
(1.81 KiB) 40-mal heruntergeladen
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: FOSHKplugin

#88

Beitrag von olicat »

Hi!

Lt. Config laeuft FOSHKplugin auf Port 8082 - probier doch mal http://ipaddr:8082/status&minmax bzw. http://ipaddr:8082/JSON?status&minmax&units=m
minmax und status kannst Du jeweils weglassen, beachte aber die Grossschreibung bei JSON!
Oder wolltest Du ein WU-Binding innerhalb von OpenHAB nutzen?
Dann probier bitte http://ipaddr:8082/observations/current/json/units=m.

Du solltest mit WS View (oder WSView Plus) pruefen, ob die Custom Server-Konfiguration tatsaechlich korrekt ist. Immerhin scheint FOSHKplugin schon laenger keine Daten der Wetterstation empfangen zu haben (inWStimeoutWarning = True).

Das erzeugte Log-File /opt/FOSHKplugin/log-foshkplugin.log enthaelt ggf. zusaetzliche hilfreiche Hinweise.

Fuer das Senden an die InfluxDB v1.x benoetigst Du noch einen entsprechenden Forward etwa in der Art:

Code: Alles auswählen

[Forward-3]
FWD_CMT = InfluxDB v1.x-Forward of metric values
FWD_TYPE = INFLUXMET
FWD_ENABLE = True
FWD_SID = username
FWD_PWD = password
FWD_URL = http://localhost@database
FWD_STATUS = True
FWD_INTERVAL =
FWD_EXEC =
FWD_IGNORE =
Und auch fuer MQTT (metrisch) waere ein entsprechender Forward moeglich:

Code: Alles auswählen

[Forward-30]
FWD_CMT = MQTT-Forward of metric values to MQTT-broker@localhost
FWD_TYPE = MQTTMET
FWD_ENABLE = True
FWD_SID = username
FWD_PWD = password
FWD_URL = localhost:1883%metric_
FWD_STATUS = True
FWD_INTERVAL =
FWD_EXEC =
FWD_IGNORE = PASSKEY
Oder willst Du das JSON per cron und curl im Intervall abholen?

Ich halte einen Intervall von 10 Sekunden fuer Wetterdaten nicht fuer sinnvoll - vorallem, wenn lt. Config die Wetterstation nur alle 60 Sekunden sendet. Ich kenne aber auch Deine genaue Aufgabenstellung nicht.

Ansonsten kann ich nur dringend die zusaetzliche Konfiguration von Pushover fuer die Benachrichtigung per Push-Notification empfehlen. Ich mag diesen Dienst nicht mehr missen.
Und im Sommer (spaetestens) koennte die verbesserte Sonnenstundenberechnung hilfreich sein, diese musst Du aber in der Config enablen und Deine Geo-Koordinaten eintragen.

Lt. Config-File hast Du die aktuelle public Beta v0.0.9 im Einsatz, korrekt?

Achja, Du hast bisher Daten an Ambient Weather verschickt? Besitzt Du eine entsprechende Lizens? Dann koenntest Du AW natuerlich auch weiter ueber FOSHKplugin beliefern.

Gruss, Oliver
Floridadriver
Offline
Beiträge: 51
Registriert: 14 Nov 2021, 15:06

Re: FOSHKplugin

#89

Beitrag von Floridadriver »

Guten Tag zusammen,
ich komme da (leider) nicht mehr mit.
Ich suche nach einer einfachen Lösung meine Wetterdaten vom DP1500
a) an mehere Tablets PWT weiterzugeben
b) meine Wetterdaten auf meinem PC zu sicher und einzusehen z. B. mit PC-Wetterstation Werner Krenn (oder was auch immer mir empfehlen könnt) .
Ich habe eine FTP server undkönnte auch Daten zwischenspeichern.

Ich würde gerne meinen Beelink U59 mit Windows 11pro mit WSL und FOSHKplugin nutzen, weil halt schon da ist.
Falls LoxBerry mit FOSHKplugin einfacher ist, sollte an der Anschaffung eines Raspberry Pi 3+ nicht scheitern. Auf den Raspberry hätte ich dann gerne in meinem Netzwerk Zugriff mit Windows Remote Desktop (oder was Ihr emfehlt). Ist halt einfacher da ist Tastatur, Maus und Bildschirm bereits angeschlossen.
Das funktioniert wohl nicht mit Loxberry
https://www.wintotal.de/tipp/raspberry- ... e-desktop/

Ich suche halt nach einer einfachen, für mich darstellbaren Lösung.
Ich Danke euch allen mit der Geduld mit mir

Michael
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: FOSHKplugin

#90

Beitrag von olicat »

Hi!
ich komme da (leider) nicht mehr mit.
An welcher Stelle von der Anleitung kommst Du denn nicht mehr mit?
Unter der Voraussetzung, das Dein Beelink permanent laeuft (und auch nur dann!) sollten all Deine in Deinem Post gewuenschten Dinge mit genau der dort beschriebenen Loesung moeglich sein.

Im Groben geht es dabei "nur" um:
1. Installation WSL
2. Installation von FOSHKplugin unten in den Recipes unter "Installation of FOSHKplugin generic version for several PWT instances"
3. Finetuning

An welcher Stelle kommst Du denn nicht weiter?
Die LoxBerry-Loesung benoetigst Du nicht.

Oliver
Antworten