Hallo kann ich auch ein NodeMCU in fhem anbinden das sich weit entfernt befindet und die Daten über INTERNET zu meinem fhem Zuhause senden???
Z.b. Ferienhaus?
Hi,
klar, Du baust zwischen beiden Routern einfach ein VPN auf. Beschreibung dazu gibt es z.B. ausführlich bei AVM im Serviceportal.
In dem Fall ist es anstatt ESPEasy sicher besser mit MQTT zu arbeiten.
Gruß Otto
schau dir einmal cloudmqtt.com an. Tasmota kann direkt in die Cloudmqtt eingebunden werden, da brauchst du nix am NodeMCU ändern. Du musst natürlich dann eine Bridge anlegen, die dir die Daten wieder an deinen Broker (Fhem) sendet. Ich habe das einmal eine Zeit lang getestet, hatte aber keinen Anwendungsfall um es auch praktisch zu nutzen. Wenn du das aufbaust, mach es in Einzelschritten, zuerst nur Cloudmqtt und dann erst die Bridge zu dir, sonst findest du eventuelle Fehler nicht mehr so leicht. Natürlich musst du auf deiner Firewall die Ports von der Cloudmqtt dann zu dir öffnen (sind verschlüsselt).
#ifdef USE_MQTT_TLS
#define MQTT_HOST "m20.cloudmqtt.com" // [MqttHost]
#define MQTT_FINGERPRINT "A5 02 FF 13 99 9F 8B 39 8E F1 83 4F 11 23 65 0B 32 36 FC 07" // [MqttFingerprint]
#define MQTT_PORT 20123 // [MqttPort] MQTT TLS port
#define MQTT_USER "cloudmqttuser" // [MqttUser] Mandatory user
#define MQTT_PASS "cloudmqttpassword" // [MqttPassword] Mandatory password
hier die Definitionszeilen in Tasmota.
Aus der Cloudmqtt kannst du die Daten auch direkt an Amazon Kinesis weiter leiten, diese Funktion ist in der Cloudmqtt bereits integriert.
Ein anderer Weg wäre eine lokale Fhem Instanz am entfernten Standort mit eigenem Raspi und diesen per VPN dann verbinden.
LG
ja, Otto hat dich bereits hingewiesen, für sowas ist das MQTT Protokoll ideal ausgelegt!
LG
Hmm das bedeutet mit dem Modul EasyESP in fhem unglaublich easyesp auf der NodeMCU geht es also nicht?
Dachte ich könnte statt der fhem IP einfach meinen DDNS eintragen und den zugehörigen Port im Router Öffnen.
Zitat von: Tueftler1983 am 13 August 2017, 22:24:42
Dachte ich könnte statt der fhem IP einfach meinen DDNS eintragen und den zugehörigen Port im Router Öffnen.
Das tut man nicht :'(
Kann man aber und es funktioniert auch!
Würde aber eine vpn Lösung bevorzugen.
Gesendet von meinem S3_32 mit Tapatalk
Zitat von: Tueftler1983 am 13 August 2017, 22:24:42
Hmm das bedeutet mit dem Modul EasyESP in fhem unglaublich easyesp auf der NodeMCU geht es also nicht?
Dachte ich könnte statt der fhem IP einfach meinen DDNS eintragen und den zugehörigen Port im Router Öffnen.
VPN kann ja heute schon fast jeder Router, sonst schaue ob du mit alternativer Software wie dd-wrt flashen kannst und baust ein VPN Router to Router auf. Dann kannst du direkt in Fhem einbinden aber auch via Mqtt weil dieses Protokoll für langsame und instabile Verbindungen ausgelegt ist.
LG
Ne funktionieren tut es auch nicht, habe es mit meiner DDNS Adresse versucht und mit meiner externen ip. Es kommt einfach nix in fhem an
Und bei cloudmqtt.com landen die Daten wieder bei nem 3. Wo ich sie nicht haben will also bleibt nur die VPN Verbindung zwischen den Routern
Ich hatte es vor einer Weile schonmal laufen mit espeasy. Hatte einen Wemos mit espeasy vom Büro nach Hause kommunizieren lassen. Werden das die Tage nochmal aufbauen.
Gesendet von meinem S3_32 mit Tapatalk
Zitat von: Tueftler1983 am 13 August 2017, 21:25:30
Hallo kann ich auch ein NodeMCU in fhem anbinden das sich weit entfernt befindet und die Daten über INTERNET zu meinem fhem Zuhause senden???
Ja, das funktioniert genau so, wie es zB. auch mit FHEMWEB möglich ist. Ich würde aber auch dringend raten ein VPN oder einen ssh Tunnel zu verwenden und die Software des VPN Gateways bzw. die des Routers immer auf dem aktuellen Stand zu halten. Veraltete VPN Software stellt ebenfalls eine große Sicherheitslücke dar. Alleine im letzten 3/4 Jahr gab es mindestens 2 Issues, von denen ich weiß, die sogar eine Cisco ASA verwundbar machten... Wenn man ein internes Netz nach außen öffnet (egal wie), dann muß jedem bewußt sein, dass durch falsche Konfigurationen oder fehlerhafte Software Lücken entstehen können, die auch ausgenutzt werden (können).
Wenn man das Risiko eingeht und kein VPN nutzt, dann sollte man zumindest noch die IP Adressen einschränken, die Daten einliefern dürfen. Dazu gibt es die ESPEasy Bridge Attribute allowedIPs und deniedIPs.
In diesem Zusammenhang habe ich gerade noch ein ESPEasy Update eingecheckt, dass Verbindungen von öffenlichen IPs nicht nur logged (wie bisher), sondern auch die Verbindung ablehnt, wenn keine Authentifizierung (basic auth) benutzt wird.
Zitat
via Mqtt weil dieses Protokoll für langsame und instabile Verbindungen ausgelegt ist.
Solch langsame und instabile Verbindungen gab es in Europa vor gefühlten 35 Jahren mit 300 Baud Akustikkopplern. Wenn man diese allerdings noch im Einsatz hat, dann würde ich auch zu MQTT raten ;)
Interessant wäre aber schon ob es eben nur mit Bordmitteln des Wemos funktioniert.
Zitat von: dev0 am 14 August 2017, 08:22:18
Ja, das funktioniert genau so, wie es zB. auch mit FHEMWEB möglich ist.
Hmm bei mir nicht ddns ist anstelle von der fhem Server IP eingetragen und Port ist offen aber in fhem kommt nix an.
Wollte Schritt für schritt vor gehen und habe noch kein Benutzer und password in der Bridge und in der NodeMCU definiert.
Zitat von: Tueftler1983 am 14 August 2017, 10:18:13
Port ist offen aber in fhem kommt nix an.
Dann ist es kein Problem von FHEM oder dem ESPEasy Modul.
Zitat von: Tueftler1983 am 14 August 2017, 10:18:13
Hmm bei mir nicht ddns ist anstelle von der fhem Server IP eingetragen
Tipp: wenn man in einem Forum Hilfe erwartet, dann sollte man sich zumindest die Mühe machen den Beitrag ordentlich zu formulieren und nicht einfach Kauderwelsch hinrotzen. So etwas wirkt schnell respektlos.
Ich kann bis jetzt alles verstehen was geschrieben wird. Konnte keinen hingerotzten Beitrag finden.
Hinrotzen tue ich hier nix, auch kein Kauderwelsch. Ich bin der deutschen Sprache mächtig und versuche mich auch verständlich auszudrücken.
In der NodeMCU habe ich anstelle der FHEM internen IP die Externe IP des Routers eingetragen an dem der FHEM Server angeschlossen ist. Der Port des EasyESP bridge Modul's (8383) ist im Router in den Port Freigaben Freigegeben und wird an den FHEM Server weitergeleitet.
Und trotzdem bekomme ich in FHEM keine zustandsänderung des Schalters angezeigt der an der NodeMCU angeschlossen ist.
So würde ich es schreiben wenn ich hier mit Leuten reden würde die nur Brötchen backen aber von dem Thema keine Ahnung haben, aber da ich hier nach Hilfe suche von Leuten die sich auskennen hatte ich gehofft das ich nicht bei Adam und Eva anfangen muss
Zitat
Und trotzdem bekomme ich in FHEM zustandsänderung des Schalters angezeigt der an der NodeMCU angeschlossen ist.
Qed.
Sorry da fehlt das "keine" kann passieren ist korregiert
Zitat von: dev0 am 14 August 2017, 15:58:39
Qed.
aha, das ist natürlich sehr hilfreich. echt pannemann.
Guten Abend liebe Fhem Gemeinde,
Zum Thema, DDNS Namen in ESPEASY eintragen damit Fhem die "Daten" verarbeiten kann.
Vor circa 2 Monaten hat das noch einwandfrei funktioniert, ich habe damit den Füllstand
von den Öltanks meines Bruders "überwacht". War eine geniale Sache.
Leider geht das ganze jetzt nicht mehr, ich dachte als erstes, mein Bruder hat es ausgeschaltet.
Nein, hat er nicht. Basicauth ist schon immer gesetzt.
Vielleicht hat der Modulentwicker eine weitere "Sicherheit" eingebaut?
Ich wäre für jeden TIP dankbar, dass es wie gewohnt weiter funktioniert.
VPN ist leider keine Lösung :(
LG, Michael
Zitat von: Mickey am 14 August 2017, 20:22:14
Guten Abend liebe Fhem Gemeinde,
Zum Thema, DDNS Namen in ESPEASY eintragen damit Fhem die "Daten" verarbeiten kann.
Vor circa 2 Monaten hat das noch einwandfrei funktioniert, ich habe damit den Füllstand
von den Öltanks meines Bruders "überwacht". War eine geniale Sache.
Leider geht das ganze jetzt nicht mehr, ich dachte als erstes, mein Bruder hat es ausgeschaltet.
Nein, hat er nicht. Basicauth ist schon immer gesetzt.
Vielleicht hat der Modulentwicker eine weitere "Sicherheit" eingebaut?
Ich wäre für jeden TIP dankbar, dass es wie gewohnt weiter funktioniert.
VPN ist leider keine Lösung :(
LG, Michael
Hallo,
Du kennst die neue Sicherheitsfunktion: csrfToken? https://wiki.fhem.de/wiki/CsrfToken-HowTo
Grüße Jörg
Das ESPEasy Modul nutzt keine csrfToken.
_WENN_ das ESPEasy Modul Daten empfängt und diese verworfen werden, dann wird das gelogged. Typischerweise mit verbose 2.
Hallo Jörg,
danke für den schnellen Tip.
Ich habe den:
"csrfToken" auf "none" gesetzt. Kann das damit zusammenhängen?
Freue mich auf Antwort.
lg, Michael
Hallo dev0
das hört sich nach einen Plan an:
Zitat
Typischerweise mit verbose 2.
Danke für den TIP.
LG, Michael
Guten Abend,
wenn man die ext. IP in:
Zitat
allowed ip --> einträgt
geht es wieder.
LG, Michael
So ist es in der commandref auch beschrieben.
Hallo dev0,
und wenn sich meine IP jeden Tag ändert, was muss ich dann machen/eingeben?
Danke für deine Hilfe.
lg, Michael
Für solche Anwendungen ist eine statische IP sinvoller. Wenn das nicht möglich ist, dann kannst auch einen IP Bereich angeben. Wie groß dieser Bereich ist sollte der Provider Dir sagen können oder Du tastest Dich ran. Ich würde mit einem /22 Subnet anfangen.
So bei mir läuft es soweit.
Jetzt zum 2. Problem der entfernte Anschluss hat keine echte IPV4 Adresse da es über DSlighT ist. Wenn jetzt der esp verbinden will sehe ich im Log ja eine externe Adresse. Diese kann ich auch bei allowed ip eintrage Spuren die Daten ja aber diese ändert sich ja ständig und ein ddns ist aufgrund des DSlight ja auch nicht möglich.
Was nun? VPN fällt flach
Zitat von: dev0 am 14 August 2017, 22:49:53
Wenn das nicht möglich ist, dann kannst auch einen IP Bereich angeben. Wie groß dieser Bereich ist sollte der Provider Dir sagen können oder Du tastest Dich ran. Ich würde mit einem /22 Subnet anfangen.
Aber ehrlich, dann kann man es auch lassen. :-X
Ich bin mir nicht ganz sicher, aber ich dachte man kann auch Hostnamen eintragen? Es müssen ja bloß beide Seiten ddns können.
Gruß Otto
Bei mir ist z.b. die Situation so das ich gerne im Auto eine NODEMCU verbauen würde. Diese bekommt ihr Wlan über einen Mobile Hotspot via Handynetz.
2. Fall bei meinen Eltern ein DSL Anschluss von 1 und 1 ohne echter IPV4 adresse
Zitat von: Otto123 am 14 August 2017, 23:05:03
Aber ehrlich, dann kann man es auch lassen. :-X
Du meinst also, dass es kein Unterschied mach ob man 4.294.967.296 oder nur 1024 Adressen zuläßt?
DNS Lookups habe ich nicht aktiviert, da das zumindest teilweise FHEM noch blockiert.
Wie "tastet" man sich denn ran? hab gerade mal zum testen mir eine neue ip geben lassen. Die alte war 178.174.10.183 und die neue ist 178.174.9.46. Wie kann ich das den mit dem attr allowed ip abdecken? Danke gruss martin
Zitat von: Tueftler1983 am 14 August 2017, 23:10:02
Bei mir ist z.b. die Situation so das ich gerne im Auto eine NODEMCU verbauen würde. Diese bekommt ihr Wlan über einen Mobile Hotspot via Handynetz.
2. Fall bei meinen Eltern ein DSL Anschluss von 1 und 1 ohne echter IPV4 adresse
Vielleicht schräge Ideen:
Beide Seiten IPV6
Kann ESPEasy eigentlich EMail? Dann Daten per Email verschicken.
DMZ einrichten, separater Raspberry mit FHEM und ESPEasy Instanz in der DMZ "offen für alle", Kopplung der DMZ Instanz mit der FHEM Hauptinstanz über FHEM2FHEM und klare Firewallregeln.
Aber ich empfehle immer wieder: macht es per vpn
Gruß Otto
Hallo Otto, hallo dev0. hallo liebe Gemeinde,
Zitat
Ich bin mir nicht ganz sicher, aber ich dachte man kann auch Hostnamen eintragen? Es müssen ja bloß beide Seiten ddns können.
Das wäre Ideal.
Vielleicht können wir den Entwickler, ich vermute es ist dev0, darum bitten?
Liebe Grüße und schlaft gut, bis morgen
Michael
Zitat von: Tueftler1983 am 14 August 2017, 23:10:02
Wlan über einen Mobile Hotspot via Handynetz.
2. Fall bei meinen Eltern ein DSL Anschluss von 1 und 1 ohne echter IPV4 adresse
Selbst wenn Du das gesamte AS des Providers freigeben müßtest ist es immer noch sicher als alle IPs zu erlauben.
Es gibt keine unechten IPv4 Adressen, vmtl. meinst Du CGNat bzw. einen IPv4 over IPv6 Tunnel.
Zitat von: Mickey am 14 August 2017, 23:32:19
Vielleicht können wir den Entwickler, ich vermute es ist dev0, darum bitten?
Kurzfristig keinesfalls, ich habe noch bedenken, dass es FHEM ausbremst.
Was genau dahinter steckt weiß ich nicht sehe halt nur die Info IPV4 over DSlight und über die dort angegebene Externe ip bekomme ich keinen Zugriff auf den Router oder angeschlossene Geräte, trotz Port weiterleitungen.
Hallo dev0,
Zitat
Kurzfristig keinesfalls, ich habe noch bedenken, dass es FHEM ausbremst.
Ich würde es, wenn du damit einverstanden bist, es zu gegebener Zeit mit testen.
Feedback inklusive.
Lg, Michael
es gibt auch primitivere aber dafür sichere Datenübertragungen. Wenn VPN aus diversen Gründen nicht klappen will, dann kopiere doch automatisiert die Logfiles aus der externen Fhem Instanz in eine Cloud (OneDrive, Google Drive etc.) und hole sie in gewissen Zeitabständen auf die lokale Instanz. Es gibt auch diverse Anbieter (Homepages mit DB Anbindung) von kostenlosen externen DBs die du direkt mit Daten füttern könntest.
Es ist immer besser Daten aus einer Cloud zu holen als Ports im lokalen Netzwerk von extern zu öffnen. Das ist zwar keine Echtzeitübertragung aber für Logzwecke sollte das schon reichen. Man könnte sogar was darüber steuern, aber halt mit starker Zeitverzögerung weil das dann vom Poll Zyklus abhängt.
LG
Zitat von: Mickey am 14 August 2017, 23:32:19
Das wäre Ideal.
Vielleicht können wir den Entwickler, ich vermute es ist dev0, darum bitten?
Wozu? ddns machen doch die Router - oder was verstehe ich hier gerade nicht?
Ob man eine, 10 oder 255 IP Adressen zulässt über die man keine Kontrolle hat oder gleich komplett die Hosen runterlässt ist wahrscheinlich völlig egal. Statistisch mag das eine andere Risikozahl ergeben, aber es ist egal ob man einer von 10 oder 100 oder 100000 war - wenn es einen erwischt hat.
Gruß Otto