NEWS
[gelöst] Shelly Adapter in Iobroker
-
Hallo ich habe aktuell eine kleine Herausforderung.
Ich habe einen Shelly 1Pm in Betrieb und diesen auch auf der Cloud laufen. Soweit alles OK. nun ist es aber so das ich diese alle gerade so einrichte, das ich diese mit der Heizung in meinem Entfernten Haus ablesen kann. Der Shelly Adapter in Iobroker läuft und das ist alles wunderbar. leider sucht dieser nur im Lokalen Netzwerk nach den geräten. Aber die Cloud anbindung find ich gut und ausreichend. Kann icih die Shelly zustände auch im entfernten Haus in meinem IOBroker abrufen und Anzeigen lassen. quasi über die cloud?
-
So ganz schlau werde ich aus Deiner Beschreibung nicht, aber ich habe zum Beispiel eine VIS erstellt mit der ich die Zustände der Leuchtmittel im Haus meiner Schwester anzeige. Sie ist hauptsächlich im Ausland und meine Shelly und iobroker steuern die Leuchtmittel wenn sie nicht da ist (Anwesenheits Simulation).
Im Prinzip also möglich. Mittels einer VPN Verbindung ins entfernte Haus kann auf die Shelly direkt zugegriffen werden.
-
@Albert-K Im Prinzip währe das eine Option.
Die entfernten Shellys kann ich natürlich über einen VPN zum mir nach Hause holen. Hoffe nur das der VPN und mein Arbeits VPN gleichzeitig laufen können. Nun kommt mein Problem. DIe Iobroker Vis in der ich die Vis anzeigen möchte wird dann nciht im gleichem Netzwerk sein. Mein Netz zuhause darf sich nicht mehr verändern. Da würde ich dann ein Lan port reservieren und von dem netz brauche ich die Daten. An meinen Pi. ICh möchte auch nicht meinen Datenverkehr über den Tunnel ins entfernte Internet Routen. ich glaub ich habe gerade ein Paar Denkfehler. Einfach zu Spät. Ich überdenke das mal alles. Mal sehen wie ich das alles über einen Pi bekomme. Bin gerade im Kopf das ich wohl 2 benötige. ich glaube das würde vieles einfacher machen. Oder? -
LOL also ich versteh nur Bahnhof
aber mal so zur Erklärung den Weg den ich verwende:
- mehrere VPN Verbindungen stören sich gegenseitig nicht, solange die entfernten Netze unterschiedliche Sub Netze verwenden.
- gesteuert werden die entfernten Shelly mit einem lokalen Blockly und http requests. Sie müssen also nicht in Deinem Subnetz sein sondern nur erreichbar sein.
- Die Werte für die Anzeigen im lokalen VIS holt der Parser Adapter, der die entsprechenden Datenpunkte anlegt und im gewünschten Zeit Intervall aktualisiert.
Mit einem zweiten Shelly Adapter habe ich das nicht hinbekommen, da man die Sub Netze nicht manuell eingeben kann. Wäre vielleicht mal einer Anfrage beim Entwickler wert.
Die Steuerung und Anzeige hat dadurch natürlich immer etwas Verzögerung, was sich aber bei mir nicht störend auswirkt.
-
@Albert-K
Hallo tut mir leid das ich so wirr geschrieben habe.
Also VPN ist schon mal gut das werde ich mal testen. Bis Dato habe ich keinen VPN verbinden können. Eventuell liegt das aber am Vodafone AS im entfernten Haus.Ich habe alle Shellys in der Cloud. Richtig super währe wenn ich die Daten von da abgreifen könnte. Das würde die VPN und verschiedenen Subnetze hinfällig machen.
Ich möchte nur die Temperaturen und den Stromverbrauch sehen. Stromverbrauch auch nur damit ich sehen kann ob die Pumpen laufen oder nicht.
ZU den Datenpunkten. ICh habe den Shelly Adapter im Iobroker. der sieht die alle und kann die in der VIS darstellen. wenn ich diese nun im Haus Installiere komme ich ja nur noch mit einem VPN ran.
Bedeutet im Kopf für mich einen Pi in netz des Hauses ober per VPN hier bei mir , und dann mal sehen wie ich diese seite dann auf meinen PI bekomme der in meinem Netz hängt oder sehe ich was verkehrt?
Den Parser adapter schaue ich mir nachher mal an. -
Hm, ja, das vergesse ich immer. Wenn von Vodaphone DSLite (IPV6) verwendet wird könnte das Probleme geben eine VPN Verbindung herzustellen. Mit IPV6 etc bin ich nicht so firm. Glaube aber irgendwo gelesen zu haben dass das inzwischen auch funktionieren würde.
Theoretisch müsste man die Zustände der entfernten Shelly auch aus der Shelly Cloud über den Parser Adapter auslesen können. Man muss halt zu aller erst den Login überwinden und dann im Quelltext genau die Stelle finden wo der Wert in die entsprechende Webseite eingebunden ist.
Also wenn Du zwei Pis verwendest, in jedem Haus einen, bekommst Du die entfernten Shelly auch nicht so ohne weiteres in Dein lokale VIS da diese ja in einem anderen Subnetz sind und der Shelly Adapter, so wie ich das sehe, nur im lokalen Netz nach Shellies sucht. Was evtl gehen sollte, eine VIS Seite des entfernten Pis mittels eines iFrames in eine lokale VIS Seite einbauen.
Das ist aber dann doch auch ein ganz schöner Aufwand. Gibt ja auch noch den Ansatz Master/Slave mit 2 Raspis, aber da hab ich nun gar keine Ahnung von bisher.
Ich glaube mein Ansatz ist von den bestehenden Möglichkeiten her noch der Einfachste, vorausgesetzt dass eine VPN Verbindung erstellt werden kann.
-
@Albert-K
HAllo ich habe nun ein paar dinge ausprobiert. Die VPN verbindung bekomme ich aufgebaut jedenfalls laut Fritzbox.
ICh habe hierfür bei mir den LAN Port 3 genommen un daran den Pi angehängt. Er bekommt die IP Adresse mit einer 1 am ende. Laut meinen Einstellungen sol er aber mit der Adressvergabe bei 20 anfangen. Somit bleibt der PI Offline für mich.Wenn ich das richtig sehe soll mir dann ja auch der DHCP aus der entfernten Fritzbox die IP adresse geben. Ich bekomme duie Fritze zwar über eine IP V4 Adresse erreicht, denke aber das doch noch irgendwas unterbindet. oder etwas falsch eingestellt ist. Ich kann den VPN auch nur aufbauen wenn ich als entfernte Box die IP angebe die Adresse aus MY Fritz geht nicht.
Nun hab ich keine Idee mehr wie ich die Daten wenigstens in den PI bekomme der darf dann auch gerne bei mir sein aber ohne richtige Adressvergabe? Ich werde mich nochmla mit dem VPN versuchen.
Supi währe wenn ich den VPN auf LAN 3 raus bekomme und ich dann auf dem PI alles erreichen kann.
-
Si nun bekomme ich schonmal eine IP aus dem richtigen bereich. Am anderen Ende kann ich nun nur noch die Fritzbox aufrufen das funnktioniert leider noch nich. Dazu kommt das ich nun wenn ich mit dem VPN verbunden bin auf Lan 3 kein Internet habe. Und kann auch keine Geräte im Entfernten Netz Pingen. Ich denke da wird irgendwas den Tunnel zwar aufbauen aber es wird alles unterdrückt.
-
What? Whaaattt??? Ich hab keine Ahnung was Du da so zusammenstöpselst
Ich weiss gar nicht wo ich hier anfangen soll
- Immerhin schon mal die Info Fritzbox. Was ist auf der entfernten Seite? Auch eine Fritzbox?
- Also Dein LAN3 Anschluß hat mit VPN erst mal so viel zu tun wie China mit Deutschem Pressack.
- Eine Fritzbox kann zwei Adressbereiche vergeben, das Hauptnetz und das Gastnetz. Beim Hauptnetz kannst Du den DHCP beeinflussen, beim Gastnetz nicht.
- du kannst kein VPN aufbauen zwischen Hauptnetz und Gastnetz
- Ein LAN-LAN VPN geht nur zwischen zwei Netzwerken/Routern/Fritzboxen die zudem noch unterschiedliche Subnetze haben müssen. Im Klartext, zwei Fritzboxen die beide auf dem Standard Subnetz 192.168.178.0/24 laufen, können nicht mit VPN verbunden werden. Eine davon muss erst in ein anderes Subnetz also zB 192.168.100.0/24.
Deshalb kann später, wenn der Tunnel mal funktioniert, Dein lokaler Shelly Adapter auch die entfernten Shellies nicht finden, er sucht nur im lokalen Subnetz. Die entfernten Shellies sind aber erreichbar!
Du kannst also von irgendeinem Gerät in Deinem lokalen Netz (angenommen 192.168.178.0/24) über die IP Adresse des entfernten Shelly (angenommen 192.168.100.21) dessen integrierten Web Server und auch eine spezielle Status Seite aufrufen.
Diese Status Seite fütterst Du in den Parser Adapter, der dann den per RegEx definierten Wert ausfiltert und in einen Datenpunkt Deines lokalen iobroker schreibt.
-
@Albert-K
Sorry ich gerade auch nicht mehr. Danke das du dir die Zeit nimmst und durch mein Kauderwelsch zu lesen. Ich versuche nochmal Infos zu geben.Hier bei mir zuhause hängt eine Fritzbox 7590 an Telekom 250 Mbit S Vectoring.
Hauptnetz ist hier 192.168.178.0/24
Sub 255.255.255.0
Kein Gastnetz
Hier habe ich Lan zu Lan Kopplung auf LAN3 Dies scheint auch erstmal zu laufen. IP auf meinem Lappi Zuhause ist nun 192.168.188.20. Also eigentlich so wie ich mir das vorgestellt habe nur leider kein internet und kein Zugriff auf die entfernten Geräte.Gegenstelle Haus Entferntes Netzwerk
Vodafone Router Hitron. Firewall deaktiviert. An Cable DSL weiss da aber gerade den Tarif nicht.
Dahinter Fritzbox 7390 im IP Client Modus damit ich eine Öffentlich V4 Adresse bekomme. Diese geht auch.
Haupnetz ist da 192.168.188.0 /24
Sub 255.255.255.0
Auch kein GastnetzDie Verbindung laut der Fritzbox UI ist grün und verbunden und Die Geräte die entfernt hängen sind direkt übers Internet auch erreichbar.
Wenn ich nun noch über diese Verbindung einen PI hier dazu bekomme die Geräte zu finden kann ich den Iobroker hier mit Display laufen lassen.Vielleicht konnte ich nun etwas Licht ins dunkle bringen, und hoffe nciht das die Vodafone Konstelattion mir da einen Strich durch macht. Da der VPN allerdings steht vermute ich habe ich noch ein anderes Problem.
-
Der Nebel lichtet sich
- Also wenn auf beiden Fritzboxen der Tunnel auf grün steht ist das schon mal gut.
- Jetzt nimm einfach mal die Restriktionen auf LAN 3 etc raus und mach beide Netze komplett verfügbar, LAN-LAN, einfach nur mal um den Tunnel überhaupt mal zum laufen zu bekommen
- VPN-Verbindung dauerhaft halten anhaken
- dann pinge mal die Geräte im emtfernten Netz an
- Evtl musst Du beide Fritzboxen neu starten
-
@Albert-K
Ich werde irre. Wie geil bist du denn.Jetzt nimm einfach mal die Restriktionen auf LAN 3 etc raus und mach beide Netze komplett verfügbar, LAN-LAN, einfach nur mal um den Tunnel überhaupt mal zum laufen zu bekommen
Ergebnis: Geräte sind Pingbar und ich kann nun über die IP Adresse 192.168.188.1 die Fritte aufrufen auf einem Rechner der im 192.168.178.1 Netzwerk sitzt. Es hat sich Augenscheinlich an den IP Adressen nichts geändert und es ist alles erreichbar. und ich weiß gerade nicht wie. Speedtest gemacht kommen über Telekom mit vollen 250 Mbit. Nicht geht über den Tunnel außer die Anfragen. Ich verstehe gerade nicht wie das geht. Und dieses Ergebnis lässt mich gerade hoffen das ich die Shellys ggf. auch in in die VIS bekomme wenn ich so schon alles aufrufen kann.
Benötige ich Zuhause nicht auch ein Gerät das im Netz der Shellys hängt um die zu lesen?Das kann ich erst testen wenn die Shellys im Haus hängen. Aber ich würde gerne wissen:
Muss ich einen Pi dort im Haus haben? Ich könnte mir dann ja die IP aufrufen und hätte dann meine VIS hier.
Kann ich dem Pi nicht doch Zuhause anschließen das er eine IP des anderen Netzes bekommt?
Dachte das bei Lan zu Lan auf Lan 3 dann eine Ip des Hauses kommt und ich dann den Pi Zuhause hätte. Vorteil wenn das ding mal abschmiert und die SD Karte himmelt muss ich nicht ins Haus fahren. kann das von Zuhause machen.VPN-Verbindung dauerhaft halten anhaken
Checkdann pinge mal die Geräte im entfernten Netz an
Ergebnis alle Pingbar und WebUI aufrufbarEvtl musst Du beide Fritzboxen neu starten
Check -
OK!! Die größte Hürde ist überwunden! Der Rest ist einfacher.
- Also im entfernten Haus hast Du noch keine Shelly installiert. Hast Du denn welche lokal? Dann könnten wir das simulieren und Du musst dann später nur noch die IPs der Shellies ändern.
- Du brauchst keinen Pi im entfernten Haus
- es gibt mehrere Möglichkeiten die Dinger zu steuern. Shelly Cloud, Shelly App mit Share, Web Interface, iobroker mit Blockly, das alles ohne Pi im entfernten Haus.
- Dein lokaler Pi wird NIE eine Adresse des entfernten Netzes bekommen! Die VPN Verbindung wird von den beiden Fritzboxen verwaltet, nicht von irgendeinem Gerät im Netz.
- Falls Du einen Pi3 oder Pi4 hast, stell so bald als möglich auf USB-Boot um und hänge eine kleine SSD oder einen USB3 Stick dran. Halten wesentlich länger als die SD Karten.
- Und den wichtigsten iobroker Zusatz Adapter: BackItUp! installieren
-
@Albert-K
Hallo. nein die werden heute Installiert. und sind soweit vorbereitet das die sich mit dem WLAN netz dort verbinden.Wunderbar dann lass ich den erstmal weg.
Wenn die sich erstmal über die Cloud melden denke ich kann ich den Rest von hier regeln.
Ach so ich verstehe. Hatte mit VPN noch nicht so viel am Hut. Lerne aber gerne dazu. Bislang ging es immer nur um lokales Netzwerk.
Ich habe auf einem Pi 3 angefangen mit der Vis und Shelly. Nun ein Pi 4 wo ich nun drauf umziehe. Der Pi 3 ist noch als test was ich dann im Pi 4 Schön einrichten kann. Um legen auf USB Boot habe ich beim Pi 1 mal gemacht. Da habe ich aber schon diverse Anleitungen gefunden werde ich noch in Angriff nehmen wenn der Grund läuft.
Wird auch heute Abend gemacht. da bin ich dann wider hier und bin schon gespannt wie sich das alles verhält.
Vielen dank heute Abend gibt es Feedback. Danke
-
Gut, dann mal hier der nächste Schritt
- Wenn Deine Shelly im entfernten Netz aktiv sind kannst Du ja schon mal über die IP auf deren Web Interface zugreifen.
- Über die IP + "/status" bekommst Du einen Text String über den Status des Shelly
- Im lokalen iobroker den Parser Adapter installieren
- Unter Instanzen/Parser auf den Gabelschlüssel klicken, dann auf das Plus Zeichen (neue Regel hinzufügel) Ich nehme jetzt mal einen Shelly 1 an.
- Name vergeben (zB Wohnzimmer), URL ist die IP + /status des Shelly, Typ ist string, RegEx: (?<="ison":)\w+ Wichtig: Die RegEx muß 100% stimmen, keine Leerstellen zwischen den einzelnen Zeichen! Ganz unten siehst Du dann das Ergebnis der Abfrage. "false" wenn ausgeschaltet, "true" wenn eingeschaltet
- Den Parser Eintrag speichern und schließen
- Unter iobroker Objekte/Parser sollte nun ein Datenpunkt "Wohnzimmer" angelegt sein der ständig aktualisiert wird und den Du ganz normal in einer VIS Seite verwenden kannst.
Tadaaah!!! Das wars für die Anzeige.
-
@Albert-K
Hallo.
So Installation erfolgreich. Alle Shellys sind erreichbar und Online. Über die IP Adressen und der Cloud meldet sich alles.Parsen habe ich nun mit den Daten gefüttert. Komme aber immer noch auf TRUE. Er scheint den Shelly aber zu sehen, da wenn ich die Oberfläsche mit Passwortschutz habe dann wird er abgelehnt und das kann ich in Parser auch sehen. Passwortschutz ist aktuell überall aus damit ich erstmal den Grund habe. Den RegEx habe ich auch abgetippt und den Status als Text kopiert auch in Original, da mein übersetzer da immer alles geändert hat. Hmm glaube das nur noch eine kleinigkeit.
Aber bis hier hin ist schon mal alles richtig gut. Vielen Dank dafür.
-
Du darfst den Text aus dem Browser Fenster NICHT in den Parser füttern! Der holt sich das alle paar Sekunden selbst! Wenn da schon was drin steht, hängt er das was er von Shelly abholt wahrscheinlich unten an und das RegEx sucht nur nach dem ersten Vorkommen des "ison" Eintrages.
-
@Albert-K
Nene hab auch nur den RegEX versucht. Er ruft sich den Text ab aber in den Objekten bleibt True. Dort kommen keine Daten an bis jetzt. -
-
@Albert-K
Ach so. Ich habe überall Shelly 1 PM verbaut. Ich verstehe.