energy-geek Posted October 4 Share Posted October 4 Soon a Shelly Pro 3em will be installed to measure power and energy consumption of my household. I want to know if it is possible to send simple data (e.g. current power in Watts) in UDP/IP to a destination address:port using scripts. So far I only managed to do sth like this with HTTP but I would prefer to use UDP for time critical regulation of an adaptive battery charger. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
AlexAn Posted October 4 Share Posted October 4 Dazu brauchst du kein Skript denn die Pro3EM kann bereits per UDP die Daten senden. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
energy-geek Posted October 4 Author Share Posted October 4 (edited) Ich würde aber gerne selber festlegen in welchem Format, wie oft und unter welchen Bedingungen Messwerte gesendet werden. Konkret ich will eigene Mindestwertänderung (z.B. deltaPower > 4W) und Zeit Hysterese (z.B. maximal alle 2 Sekunden senden) festlegen. Einfaches blindes raussenden mit fester Frequenz genügt mir nicht. Gibt es dafür auch eine Möglichkeit? Edited October 4 by energy-geek Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
If_then_else Posted October 4 Share Posted October 4 Mit Scripting ist UDP möglich und deine Anforderung ist auch keine wirkliche Challenge. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
energy-geek Posted October 4 Author Share Posted October 4 Ok könntest du mir ein Code Schnipsel, ein Link oder einfach die nötige Anweisung in JS syntax zeigen, um per Script eine Einfache Nachricht (z.B. ein String) mit UDP zu senden? Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
If_then_else Posted October 4 Share Posted October 4 @energy-geek Du wirst erstaunt sein wie simpel die Lösung sein kann. Shelly Script: //////////////////////////////////////////////////////////////////////////////////////////// /// /// Send simplest UDP telegram from Shelly /// //////////////////////////////////////////////////////////////////////////////////////////// /// /// Created by 'if_then_else' © 2024 /// //////////////////////////////////////////////////////////////////////////////////////////// function timerHandler() { print('This is a UPD telegram with a random floating point number - *** ' + Math.random() + ' ***') }; //////////////////////////////////////////////////////////////////////////////////////////// Timer.set(2000, true, timerHandler, null); //////////////////////////////////////////////////////////////////////////////////////////// Das must du am Shelly einstellen: Dann solltest du im Netzwerk unter dem Port 1234 deine UDP Telegramme empfangen. Das ist eine Basic UDP übertragung funktioniert aber perfekt Ich denke die Hauptarbeit ist bei einem Produktiv-System dann auf der UDP Client Seite.... Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
energy-geek Posted October 4 Author Share Posted October 4 OK danke das werde ich mal ausprobieren, ich hoffe das klappt auch mit Unicast statt Broadcast. Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
If_then_else Posted October 4 Share Posted October 4 6 minutes ago, energy-geek said: das werde ich mal ausprobieren Passt, mach mal! Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
energy-geek Posted October 4 Author Share Posted October 4 Habs getestet es funktioniert grundsätzlich schon. Aber damit wird halt einfach der gesamte Debug Log laufend gesendet. Mich interessiert ja eigentlich nur wenn sich ein bestimmter Messwert ändert, diese Wertänderungen sind im Debug Log glücklicherweise auch enthalten, trotzdem wird viel zu viel gesendet und der Empfänger muss sich dann immer in Echtzeit alles rausfiltern um an den relevanten Wert zu kommen. Geht das nicht auch irgendwie selektiver, also dass man selber einstellt, was überhaupt gesendet werden soll? Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
If_then_else Posted October 4 Share Posted October 4 (edited) Nun ohne eine vernünftige Spezifikation hast du schon viele Wünsche... Ich denke für diese einfache Lösung reicht für dich wenn du diese Checkbox in Echtzeit 😀 auswählst: Gute Nacht. Edited October 4 by If_then_else Quote Translate Revert translation? English (American) Finnish French German Italian Portuguese (European) Spanish Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.