NEWS
Shelly Adapter produziert am laufenden Band RPC-Requests
-
Ein freundliches Hallo miteinander,
und erste einmal vieln Dank für das tolle Froum hier. Ich habe bereits viel gelernt und bereits Hilfe durch die ganzen Threads hier gefunden.
Nun habe ich aber ein Problem, das mir nicht völlig klar ist.
Ich habe seit über anderzhalb Jahren eine Iobroker - Instanz mit verschiedenen Instanzen (Modbus, Sonoff, Loxone, shelly, influxdb) am laufen.Mittlerweile hat sich die ganze Installation sehr erweitert und ich sammle mittlerweile über 400 Datenpunkte im 3-5 Sekunden Takt ein und schreibe diese in eine Influx-DB. Soweit so gut funktioniert das auch richtig gut und zuverlässig.
Ich habe vo einigen Tagen 10 Shelly Pro3EM-Stromzähler in die Anlage eingebunden, was auch soweit einwandfrei funktioniert hat.
Heute habe ich nun gesehen, dass der Shelly-Adapter ständig RPC-Requests zu den Zählern sendet. Das geht soweit, dass teilweise bis zu 20 Requests pro Zähler und Sekunde auftreten.
Da die verschiedenen Zähler, Regelungen etc. über VPN-Verbindungen mit VPN-Routern erfolgen, mögen das die Firewalls der Gebäude und vor allem die Firewall vor dem Ubuntu-Server natürlich nicht so gerne.Daher meine Frage an die Community:
Hattet Ihr auch schon einen solchen Fall bzw. ist euch bekannt, wie ich das verhindern kann?Die RPC-Requests würden ja von meiner Seite einmal pro 24h völlig ausreichen.
Vielen Dank für eure Hilfe ... falls Ihr weitere Infos braucht, einfach kurz melden.
Hier noch ein Auszug der Cisco-Firewall:
und hier ein Auszug von TCP-Track und dem Port 80 des Servers:
-
@haus-automatisierung
Ev. kannst du - wenn du Zeit hast - da was dazu sagen?Shelly "remote" via vpn angebunden ist aber sicher nicht die typische Anbindung.
-
@silent_warrior sagte in Shelly Adapter produziert am laufenden Band RPC-Requests:
Die RPC-Requests würden ja von meiner Seite einmal pro 24h völlig ausreichen.
Ja, die Mischung von HTTP und MQTT gefällt mir aktuell auch nicht. Daher habe ich angefangen den Adapter komplett zu überarbeiten und in TypeScript neu zu schreiben, um diese Anfragen komplett per MQTT (und selterner) ausführen zu lassen.
Momentan kann man da nicht viel machen, außer den Intervall in der Instanz höher zu stellen.
-
Erstmal vielen Dank für die Antwort.
Ich hatte das Abfrageintervall bereits sehr hoch eingestellt
... siehe hier:
Problem ist weniger die Abfrage an sich, sondern das andauernde Aufbauen und wieder schließen der Verbindung... bei 10 angebundenen Zählern schaukelt sich das recht schnell auf, daher die Frage.
Aber ist ja super wenn es eventuell eine andere Lösung gibt.
Die Notlösung wäre, die Daten via Modbus TCP zu holen, allerings hab ich hier noch nicht die Möglichkeit gefunden, den Port zu ändern...Mal sehen. Geplant ist, auch Temperatursensoren etc. einzubinden, vor allem auch an verschiedenen Standorten.
ICh würde Rückmeldung geben wie sich das verhält. Werde eventuell am Mittwoch welche einbinden und melde mich dann wieder.
Vielen Dank erstmal bis hierher.
-
Man könnte den Shelly-Adapter ja weglassen,
bei allen Pro 3EM einen "normalen" MQTT-Broker eintragen und was da kommt per Skript auswerten.
So viel war das nicht ...Wobei die Shelly schon oft senden, die Pro3EM (wenn ich das aus dem Kopf richtig weis, kann gerade nicht nachsehen) bei jeder Änderung
-
Ja ich hatte das schon überlegt, aber das Problem ist, dass der Server die Anfragen Richtung Shelly stellt, nicht anders herum. Ich habe schon ein recht hohes Abfrage-Aufkommen. Das ist aber weniger das Problem.
Problem ist einfach, dass immer wieder für diese RPC-Requests eine Verbindung aufgebaut, die Daten gesendet und dann wieder geschlossen wird.
Und das bei ca. 7-10 Anfragen pro Zähler und 10 Zählern beschäftigt die Firewall schon sehr.
Daher die Frage. -
@silent_warrior sagte in Shelly Adapter produziert am laufenden Band RPC-Requests:
aber das Problem ist, dass der Server die Anfragen Richtung Shelly stellt, nicht anders herum.
Das aber auch die Resourcen-Intensivere Version. So wird die Anfrage gestellt, der Prozess muss auf Antwort warten, bekommt diese, schließt die Verbindung.
Beim MQTT Weg feuern die 3EM wenn sie was haben, iobroker wird benachrichtig (wenn er nicht selbst Broker ist).
Ich mache beruflich unter anderem auch Monitoring, und durch solches Umkehren kommen wir mit ganz schlanken Servern aus, hatte ich erst neulich wieder. Statt 4 Servern die Abfragen durchführen nur noch 1 Server der nur noch sammelt was kommt.