NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Ich plane mir eine Froggit HP1000SE Pro anzuschaffen.
Ein Grund dafür ist unter anderem das super Wetterstations-Skript hier, um die Daten in den iobroker zu bekommen.Jetzt habe ich die ganze Historie des Skripts nicht mitbekommen, wenn ich es aber richtig verstanden habe, fängt das Skript die Daten der Wetterstation per netcat ab und pumpt sie mittels curl über den Simple RESTful API Adapter in den iobroker.
Das Skript ist ja ein Shell-Skript und es gibt das Shell-Kommando "iobroker state set <id> <value> [<ack>]", um Datenpunkte im iobroker zu setzen.
Jetzt stellt sich die naheliegende Frage, ob es nicht Sinn machen würde das Shell-Kommando statt dem curl-Aufruf zu nutzen. Dann wäre man auch unabhängig von einem zusätzlichen Adapter.
Gibt es da einen bestimmten Grund oder ist es historisch einfach so gewachsen?Und ich hätte noch eine zweite Frage:
Ich nutze aktuell den MySQL Adapter, um historische Daten im iobroker zu sammeln, weil ich MySQL für anderen Themen eh schon am laufen hatte.
Gibt es eine Chance das Wetterstatistik Skript zu erweitern, so dass man auch die Daten aus MySQL nutzen könnte?
Man kann die Daten ähnlich wie bei der InfluxDB in Javascript auch mittels sendTo abfragen, Beispiel:sendTo('sql.0', 'query', 'SELECT id FROM iobroker.datapoints WHERE name="'+DP+'"', function (result) { ....
Danke
-
@SBorg
Und noch eine Frage:
Ich wollte mir von der Froggit HP1000SE Pro die Single Sensor Edition holen.
Da sind die Sensoren DP300, DP40 und DP80 enthalten, die, wie ich gerade gesehen habe, nicht bei den unterstützten Sensoren dabei sind.
Ist es möglich diese im Skript hinzuzufügen? Und falls ja, welche Informationen werden benötigt?
Ich könnte da gerne unterstützen, sobald ich die WS habe.
Falls die Antwort nein ist, dann müsste ich nochmal drüber nachdenken, weil das Skript eins der Kaufkriterien für mich ist.
Ansonsten wäre das Skript für mich leider gar nicht nutzbar. -
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
bascht das so?
Jepp, sieht gut aus
[OT] btw: bin "etwas" hinterher mit YT schauen, aber warst du das mit der Klemsia bei Andy? Dann Glückwunsch
-
@negalein Du hast offensichtlich keinen "Default-Editor" angegeben. Eigentlich könnte ich auch 'nano wetterstation.conf' aufrufen, aber nicht jeder hat 'nano' und nicht jeder kennt sich notfalls mit 'vi' aus. Deswegen nehme ich den Editor den der User ausgewählt hat...
Hmm, da muss ich mir mal Gedanken machen, aber wahrscheinlich geht es dann nur so: kein Editor definiert --> nimm 'vi' (oder falls vorhanden 'nano')
Unicode will er offensichtlich bei dir auch nicht für die "Haken"......und "setrlimit" scheint auch ein Problem bei dir zu sein (hat aber nix mit dem Skript zu tun ) :https://forum.andronix.app/t/fix-sudo-setrlimit-rlimit-core-operation-not-permitted/53
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Du hast offensichtlich keinen "Default-Editor" angegeben
nachgeholt. Ist jetzt Nano und Wetterkonfig wird geöffnet.
...und "setrlimit" scheint auch ein Problem bei dir zu sein
auch nachgeholt.
Jetzt läuft alles durch.
Verbindung baut er nicht auf, da ich bewusst die IP nicht geändert habe. Sonst funkt mir der Test in die fertige rein. -
@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Das Skript ist ja ein Shell-Skript und es gibt das Shell-Kommando "iobroker state set <id> <value> [<ack>]", um Datenpunkte im iobroker zu setzen.
Jetzt stellt sich die naheliegende Frage, ob es nicht Sinn machen würde das Shell-Kommando statt dem curl-Aufruf zu nutzen. Dann wäre man auch unabhängig von einem zusätzlichen Adapter.Hi erst mal
Ich sag mal Jein. Prinzipiell bräuchte man die API nicht unbedingt, aber wir sind mittlerweile bei >(möglichen) 100 Messwerte, ohne die die ich noch zusätzlich generiere. Die alle einzeln abzusetzen müllt die Kommunikation nicht nur zu, es könnte auch zeitlich mit dem folgenden Datenpaket eng werden. Per API werden die weitestgehend in einem Paket gesendet.@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Gibt es eine Chance das Wetterstatistik Skript zu erweitern, so dass man auch die Daten aus MySQL nutzen könnte?
Pauschal ja, da es unter einer handvoll Abfragen sind (glaube 2 oder 3). Allerdings funktionieren ein paar Zusatzfunktionen des Shell-Skriptes ebenfalls per Influx.
Ich will keine Werbung für Influx machen, aber Influx ist dafür einfach die bessere Wahl, da es eine Timeline-Datenbank ist und dafür optimiert. Du hast halt den fortlaufenden Zeitstrahl und dann immer einen Messwert. MySQL bläht das dann extrem auf, ist aber die 1. Wahl wenn man mehrere Querreferenzierungen braucht wie zB. Filmsammlung "ich möchte alle Filme vor 2005 mit Clint Eastwood und John Wayne". Da versagt Influx völlig.
Soll trotzdem kein K.O.-Kriterium gegen MySQL sein, nur muss ich da auch die Zeit für finden, und das ist kein 5 Minuten Job.@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Da sind die Sensoren DP300, DP40 und DP80 enthalten, die, wie ich gerade gesehen habe, nicht bei den unterstützten Sensoren dabei sind.
Ist es möglich diese im Skript hinzuzufügen? Und falls ja, welche Informationen werden benötigt?Ich sehe nichts spezielles was es verhindern würde. Allerdings sieht man es erst wenn auch Daten der Sensoren vorliegen. Bisher liefen aber alle und die drei sind nichts super spezielles. Ich brauche dann einfach nur mal einen Datenstring (
./wetterstation.sh --data
) mit den eingerichteten/aktivierten Sensoren, mehr nicht. Dann sind die auch zügig drin -
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Jetzt läuft alles durch.
Die "\u2713 - Haken" muss aber ich noch fixen, die kommen allerdings nicht vom Updater, sondern vom Shell-Skript...
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die "\u2713 - Haken" muss aber ich noch fixen
Ahh, das soll der Hacken sein. Dachte mir schon was das bedeuten soll.
-
@negalein Habe ich bis dato noch nicht im Shell-Skript geändert. Nicht jeder Terminal-Emulator kommt aber mit dem Unicode-Steuerzeichen zu Recht, direkt als Haken funktioniert es dann aber
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
aber warst du das mit der Klemsia bei Andy?
jup, das war meinereiner. das erste mal, daß ich was gewonnen habe.
wollte die klemmsis eh schon seit einiger zeit testen. jetzt kann ich ohne kosten... -
Vielen Dank für die ausführlichen Antworten.
Das wichtigste ist erst einmal, dass es überhaupt funktioniert.
Ich würde dann die entsprechenden Daten liefern, sobald ich sie habe, damit die Sensoren eingebaut werden können.
Das Thema curl Aufruf vs. Shell-Kommando habe ich verstanden, im Endeffekt wahrscheinlich ein Performance Thema und somit begründet.
Bzgl. der MySQL Anbindung, das wäre eine nice-to-have, weil ich es eh schon nutze, aber im Notfall muss ich eben noch eine InfluxDB aufsetzen, wäre jetzt auch nicht so dramatisch -
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
jup, das war meinereiner. das erste mal, daß ich was gewonnen habe.
Ich habe letzte Weihnachten auch das 1. mal gewonnen, dann aber gleich den Hauptpreis. Kpl. Arbeitskleidung von Nitras mit div. Arbeits-Hosen, Jacken, Mütze, Arbeitshandschuhe, Sicherheitsschuhe...
Ich mache aber nicht um des Gewinnenswillen mit, sondern nur wenn ich es auch wirklich brauchen kann. So freut sich bestimmt einer mehr bspw. über die Forstnerbohrer, als wenn sie bei mir im Regal verstauben...@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bzgl. der MySQL Anbindung, das wäre eine nice-to-have, weil ich es eh schon nutze, aber im Notfall muss ich eben noch eine InfluxDB aufsetzen, wäre jetzt auch nicht so dramatisch
Da würde ich aktuell vom Notfall ausgehen, denn eine Umsetzung sehe ich eher Mittel- denn Kurzfristig, da du auch aktuell der Einzige bist. Somit steht es auf der Prioliste nicht ganz oben
Bei den Sensoren sieht das dann anders aus, da ja ev. noch weitere Nutzer nachkommen (oder sie bereits halt nicht unterstützt nutzen) und das auch in 1-2 Stunden normalerweise umgesetzt ist. -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
jup, das war meinereiner. das erste mal, daß ich was gewonnen habe.
Ich habe letzte Weihnachten auch das 1. mal gewonnen, dann aber gleich den Hauptpreis. Kpl. Arbeitskleidung von Nitras mit div. Arbeits-Hosen, Jacken, Mütze, Arbeitshandschuhe, Sicherheitsschuhe...
Ich mache aber nicht um des Gewinnenswillen mit, sondern nur wenn ich es auch wirklich brauchen kann. So freut sich bestimmt einer mehr bspw. über die Forstnerbohrer, als wenn sie bei mir im Regal verstauben...arbeitskleidung ist mir schnuppe. wenn, dann mach ich nur bei dem mit, was ich brauchen kann. genau darum hab ich nur auf die klemmsis mich beworben. das andere war für mich nicht wichtig. so gesehen, sind wir ja eh am selben level. andere sollen das gewinnen, was sie brauchen zu glauben.
@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bzgl. der MySQL Anbindung, das wäre eine nice-to-have, weil ich es eh schon nutze, aber im Notfall muss ich eben noch eine InfluxDB aufsetzen, wäre jetzt auch nicht so dramatisch
Da würde ich aktuell vom Notfall ausgehen, denn eine Umsetzung sehe ich eher Mittel- denn Kurzfristig, da du auch aktuell der Einzige bist. Somit steht es auf der Prioliste nicht ganz oben
Bei den Sensoren sieht das dann anders aus, da ja ev. noch weitere Nutzer nachkommen (oder sie bereits halt nicht unterstützt nutzen) und das auch in 1-2 Stunden normalerweise umgesetzt ist.@viper4iob ich würde sagen, steig um auf influx. einfach, weils mit grafana einfacher ist und da auch mehr hilfe zu erwarten ist.
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@viper4iob sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Bzgl. der MySQL Anbindung, das wäre eine nice-to-have, weil ich es eh schon nutze, aber im Notfall muss ich eben noch eine InfluxDB aufsetzen, wäre jetzt auch nicht so dramatisch
Da würde ich aktuell vom Notfall ausgehen, denn eine Umsetzung sehe ich eher Mittel- denn Kurzfristig, da du auch aktuell der Einzige bist. Somit steht es auf der Prioliste nicht ganz oben
@da_woody said in [Linux Shell-Skript] WLAN-Wetterstation:
@viper4iob ich würde sagen, steig um auf influx. einfach, weils mit grafana einfacher ist und da auch mehr hilfe zu erwarten ist.
Das mit Grafana habe ich auch schon mitbekommen, das ist mit MySQL etwas umständlich.
Und ja, der generelle Support in Verbindung mit influx ist einfach besser.
Ach ja: die InfluxDB läuft seit gestern und ich lasse auch schon testweise ein paar Datenpunkte aus iobroker rein schreiben -
Direkt umsteigen braucht man nicht zwangsweise. Influx ist recht ressourcenschonend, man kann es also auch einfach parallel zu MySQL laufen lassen. MySQL habe ich zwar keine, bei mir läuft aber auch noch eine MongoDB für meinen Unifi-AP, da sich hier wegen eines einzelnen APs ein CloudKey nicht wirklich lohnt.
...OK, und nu zu spät. Warum müsst ihr immer posten während ich tippe
-
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
Direkt umsteigen braucht man nicht zwangsweise. Influx ist recht ressourcenschonend, man kann es also auch einfach parallel zu MySQL laufen lassen. MySQL habe ich zwar keine, bei mir läuft aber auch noch eine MongoDB für meinen Unifi-AP, da sich hier wegen eines einzelnen APs ein CloudKey nicht wirklich lohnt.
...OK, und nu zu spät. Warum müsst ihr immer posten während ich tippe
Läuft jetzt beides parallel. iobroker kann ja auch mit beidem parallel umgehen, ist also kein Problem.
MySQL kann ich auch gar nicht abschalten, da hängen noch so paar Dinge wie z.B. Nextcloud, Wordpress und Roundcube dran -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
...OK, und nu zu spät. Warum müsst ihr immer posten während ich tippe
schneller tippen?
-
Jetzt hätte ich doch nochmal eine Frage.
Bei mir läuft jetzt InfluxDB 1.8.10. Ich habe gesehen, dass es aber schon Version 2.x gibt.
Und es gibt seit August auch einen iobroker Adapter 2.x, auch wenn der scheinbar nicht im stable Repository angeboten wird.
D.h. iobroker-seitig würde das wahrscheinlich funktionieren.
Da im Shell-Skript die InfluxDB HTTP API direkt angesprochen wird, wäre nun die Frage, ob das Wetterstations-Skript damit klar kommen würde?InfluxDB 2.0 ist ja jetzt eine Art Komplettpaket inkl. WebUI, ich weiß also nicht, was sich da noch so alles geändert hat.
Es scheint aber in V2 eine Kompatibilität zu V1 zu geben :
https://docs.influxdata.com/influxdb/v2.0/reference/api/influxdb-1x/Da ich nun quasi auf der grünen Wiese anfange, hätte ich da schon Interesse auf die 2.0 zu gehen, auch weil die eine Admin WebUI enthält.
Hier noch paar Infos zu V2:
https://www.influxdata.com/blog/introducing-the-next-generation-influxdb-2-0-platform/EDIT:
Die sendTo Aufrufe haben sich im iobroker Adapter für InfluxDB V2 geändert:
https://github.com/ioBroker/ioBroker.influxdb#influx-2x
Beim direkten InfluxDB HTTP API Zugriff bin ich mir nicht so sicher.
Die V2 API nutzt keine SQL basierte Sprache mehr, sondern Flux. Wenn ich aber oben den Link zur V1 Kompatibilität ansehe, dann stehen da noch SQL Befehle.
Auf jeden Fall müssten aber die sendTo Aufrufe im Statistik Skript für V2 angepasst werden, damit es funktioniert. -
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
...OK, und nu zu spät. Warum müsst ihr immer posten während ich tippe
schneller tippen?
Zu meiner Zeit nix Computer(-Tastatur), nur Schreibmaschine und einen Kurs habe ich bis dato nicht besucht. Also 6-Finger-Eigensystem und meist eh immer viel Text...
@viper4iob Das Shell-Skript sollte bereits mit V2 laufen, da habe ich schon Anpassungen dafür vorgenommen. Hier ist es auch nebensächlich ob V1 oder V2.
Beim JavaScript geht das nicht ganz so einfach. Ich finde es vom Handling (auch zeitintensiv) aber nicht gerade prickelnd dann mit zwei unterschiedlichen Skriptversionen zu arbeiten. Das derzeitige KO-Kriterium für einen V2-Support ist aber, dass der ioB selbst noch nicht die V2 im stable unterstützt. Eine Beta die auf einer Beta aufbaut... Da ist Ärger und Arbeit vorprogrammiert. Wer will kann es aber gerne probieren und die Abfragen anpassen. Ich habe aktuell dafür wenig Zeit, meine eigenen privaten Baustellen haben da Vorrang (hat ja nur 5 Tage gedauert bis ich hier wieder mal Online bin...)
-
@sborg
OK, danke für die Info.
Dann bleibe ich erst mal auf der InfluxDB V1.