Netatmo Modul - 38_netatmo.pm (Support)

Begonnen von Markus M., 17 Mai 2016, 12:37:34

Vorheriges Thema - Nächstes Thema

Kamik

Zitat von: warp10 am 28 Juni 2019, 22:13:12
Hab eine neue Antwort vom Netatmo Support bekommen:
Ich habe mittels iptables den Port 443 nun auf 8083 umgeleitet, und siehe da: Webhooks funktionieren wieder.
Da hat netatmo also einfach mal geändert, das beliebige Ports erlaubt sind!

@Markus M.: Vielleicht solltest Du die commandref um einen Hinweis diesbezüglich erweitern...

VG, Thorsten
Hi Thorsten, das hört sich gut an.
Kann ich das dann auch mit dem Port 80 machen?
Kannst du die Anweisung kurz posten?

Habe ich nach dem umleiten ggf. Probleme mit anderen Paketen die über den Port 80 reinkommen?

Gesendet von meinem SM-G950F mit Tapatalk


warp10

Hi,

so hab ich es zunächst getestet:

iptables -A PREROUTING -t nat -i br0 -p tcp --dport 443 -j REDIRECT --to-port 8083

Dabei muss Du evtl. das Interface anpassen (z.B. "eth0" statt "br0") und den dPort auf Port 80 ändern.

Auf Deinem Router musst Du natürlich die Weiterleitung von Port 443 bzw. 80 auf den fhem-Server einrichten. Prinzipiell könnte man auf dem Router auch direkt eine Port Umleitung einrichten, allerdings klappt das bei meinem Speedport W723 (Typ B) nicht. Daher muss nun der RPi, auf dem ich fhem laufen habe dafür herhalten...

Damit es auch nach einem Reboot klappt, muss Du noch in die /etc/network/interfaces folgendes eintragen:
post-up iptables -A PREROUTING -t nat -i br0 -p tcp --dport 443 -j REDIRECT --to-port 8083

Wen auf Deinem Server sonst nichts auf Port 80 läuft, macht der Redirect nichts, ansonsten kannst Du danach natürlich nicht mehr auf Dienste zugreifen, die auf Port 80 laufen.

VG, Thorsten

Kamik

Zitat von: warp10 am 29 Juni 2019, 12:41:43
Hi,

so hab ich es zunächst getestet:

iptables -A PREROUTING -t nat -i br0 -p tcp --dport 443 -j REDIRECT --to-port 8083

Dabei muss Du evtl. das Interface anpassen (z.B. "eth0" statt "br0") und den dPort auf Port 80 ändern.

Auf Deinem Router musst Du natürlich die Weiterleitung von Port 443 bzw. 80 auf den fhem-Server einrichten. Prinzipiell könnte man auf dem Router auch direkt eine Port Umleitung einrichten, allerdings klappt das bei meinem Speedport W723 (Typ B) nicht. Daher muss nun der RPi, auf dem ich fhem laufen habe dafür herhalten...

Damit es auch nach einem Reboot klappt, muss Du noch in die /etc/network/interfaces folgendes eintragen:
post-up iptables -A PREROUTING -t nat -i br0 -p tcp --dport 443 -j REDIRECT --to-port 8083

Wen auf Deinem Server sonst nichts auf Port 80 läuft, macht der Redirect nichts, ansonsten kannst Du danach natürlich nicht mehr auf Dienste zugreifen, die auf Port 80 laufen.

VG, Thorsten

Zitat von: warp10 am 29 Juni 2019, 12:41:43

Wen auf Deinem Server sonst nichts auf Port 80 läuft, macht der Redirect nichts, ansonsten kannst Du danach natürlich nicht mehr auf Dienste zugreifen, die auf Port 80 laufen.

Hi, genau das hatte ich befürchtet. Aber vielen Dank schonmal für dir Anleitung! Werde ich dir Tage Mal probieren.

Können nicht alle http Anfragen über den Port 80 rein? Z.B. Wetterdienste, httpmod
Gruß

Gesendet von meinem SM-G950F mit Tapatalk


tomcat.x

ZitatKönnen nicht alle http Anfragen über den Port 80 rein? Z.B. Wetterdienste, httpmod

Die gehen darüber raus (die Abfragen werden aktiv von fhem gestartet, nicht von außen).
FHEM: 6.1 auf Raspi 3, Raspbian (Buster), Perl v5.28.1
Sender/Empfänger: 2 x CULv3, Duofern Stick, HM-MOD-RPI-PCB
Gateways: FRITZ!Box 6591 (OS: 7.57), Trädfri, ConBee 2,  piVCCU, OpenMQTTGateway
Sensoren/Aktoren: FRITZ!DECT, FS20, FHT, HMS, HomeMatic, Trädfri, DuoFern, NetAtmo

THZ_Haus

Hallo,möchte gerne mit den Daten des Wetterberichtes meine Jalousien Steuern.
Dafür möchte ich sunrise u. Sunset nutzen.
Nur sehe die Daten in form des Datums mit Uhrzeit, wie können diese mit eine  DOIF verknüpft werden?

Kenne nur Sunrise mit AbS oder Rel für sonnen Aufgang bzw. Untergang.
Wer hat Tips
Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

Markus M.

Zitat von: THZ_Haus am 01 Juli 2019, 15:59:20Wer hat Tips
Stattdessen das twilight Modul mit notify direkt auf den Sonnenstand verwenden?!
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

THZ_Haus

Laut wiki wurde das Modul Twilight abgeschaltet.
Daher kam auch die Idee das Netatmo Modul zu nutzen, da darin auch der Sonnenaufgang u. UNTERGANG enthalten sind.

https://wiki.fhem.de/wiki/Twilight
Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

Markus M.

Zitat von: THZ_Haus am 01 Juli 2019, 18:38:10Laut wiki wurde das Modul Twilight abgeschaltet.
Daher kam auch die Idee das Netatmo Modul zu nutzen, da darin auch der Sonnenaufgang u. UNTERGANG enthalten sind.

Twilight enthält lediglich keine Wetterdaten mehr.
Durch den genauen Sonnenstand und Sonnenaufgang "indoor" bietet es trotzdem noch wesentlich mehr Möglichkeiten als der Astro Sonnenaufgang von Netatmo.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

THZ_Haus

Also sind die Daten des Sonnenstandes von Netatmo nicht geeignet um damit die Jalousien zu steuern?
Nutze schon die Innentemperatur, um z.B. bei Überschreitung einer Temperatur die Jalousie auf eine gewisse Höhe zu fahren. Da kam die Idee auch Sonnenstandswerte von Netatmo zu nutzen. Sozusagen wäre dann die Jalousiesteuerung mit Netatmo als Regelgrösse verbunden.
Solarview mit SAM BT, FHEM mit THZ 403 SOL, EDIMAX

Markus M.

Welcher Sonnenstand?
Netatmo sagt dir lediglich, wann astronomisch die Sonne aufgeht - heute hier um kurz nach 5.
In diesen Wert fliessen keine Wetterdaten mit ein.

Wenn du beschatten willst, ist Twilight sowieso besser - dann kannst du Rolläden steuern ab Lichteinfall an diesem Punkt des Hauses.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

Schronk

Hi,

Ich bekomme immer Login failed (fhem Webinterface) bzw invalid_client als reading im Module selber.

Im define hab ich die Daten mit und ohne <> versucht, beide Male mit gleichem Ergebnis.

Im Netatmo log steht:

body:[...]
status: "ok"
time_exec: 0.010993003845214844
time_server: 1562965855

Fhem und raspi sind up to date.

Hängt das an der port-webhook-Geschichte? Die verstehe ich nicht so ganz...

Kann hier wer helfen?

Danke
Schronk

Kamik

Hi,
also mit hat die Lösung von warp geholfen.
Da ich eine Fritzbox habe hat es gereicht einfach meine bestehende Peitzleitung zu ändern. Port 80 auf Port 80xx auf deinem raspi weiter zu leiten.

Danach habe ich noch die webhookadresse im device auf den Port 80 geändert.
Gruß

Gesendet von meinem SM-G950F mit Tapatalk


Schronk

Hi,

Wie gesagt, den Teil verstehe ich nicht.

Warum ist es wichtig wie ich auf fhem zugreife, wenn doch fhen (ein fhem modul) auf netatmo zugreift?

Danke,
Althir

Kamik

Zitat von: Schronk am 13 Juli 2019, 10:39:29
Hi,

Wie gesagt, den Teil verstehe ich nicht.

Warum ist es wichtig wie ich auf fhem zugreife, wenn doch fhen (ein fhem modul) auf netatmo zugreift?

Danke,
Althir
Du hast es vorher doch auch schon so gemacht. Nur jetzt ist der Unterschied das netatmo nicht mehr alle Ports für das Versenden des webhook akzeptiert. Sondern nur noch 80 und 442 für HTTPS.
Und damit dein webhook dann funktionieren soll musst du eine Portweiterleitung einrichten.
Für die Kommunikation des webhook wird eine Verbindung aufgebaut.

Gesendet von meinem SM-G950F mit Tapatalk


docb

#1004
Grüß Euch,
nachdem ich immer mal wieder einen Ban beim Webhook habe (z.B. weil ich meine Firewall aktualisiere und die mal eine gewisse Zeit nicht erreichbar ist), habe ich mir ein kleines at gebastelt, damit ich benachrichtigt werde, wenn ich vermutlich wieder mal gebannt bin (habe hier nichts dazu gefunden). Vielleicht kann das ja jemand brauchen oder hat vielleicht sogar noch eine bessere Lösung. Das AT checkt einfach jede Stunde, ob sich in der letzten Stunde der state des Webhook geändert hat. Falls nicht, schickt er eine pushnachricht über msg (falls ihr das nicht eingebunden habt, ersetzt einfach den Code mit Eurem Telebot/Pushover/Email-Kommando). Die Zeiten kann man auch ganz einfach anpassen, werde ich auch tun, da gerade nachts sich auch mal eine Stunde nichts tut, werde also "time - 10000" draus machen. Aber zum Testen ob es klappt, sind die 3600 ganz gut ;-)

define atCheckWebhook at +*01:00:00
{
if(time_str2num(ReadingsTimestamp("<EuerWebhookName>", "state", "")) < time - 3600){
  fhem("msg push Netatmo Webhook funktioniert seit 1 Stunde nicht mehr");
}
  Log 3, "AT-Webhookprüfung - letzter erfolgreicher Webhook: ".ReadingsTimestamp("<EuerWebhookName>", "state", "");
}


Viele Grüße
doc
I love FHEM!