Shelly json Rückgabe Status - WaMa schalten per CCU2
Moderator: Co-Administratoren
Shelly json Rückgabe Status - WaMa schalten per CCU2
Hallo,
ich habe in meine CCU2 einen ShellyPM mit Leistungsmessung über CuxD erfolgreich eingebunden. Ich kann per HM den Shelly AUS und EIN schalten und sehe auch den Status des Shellys richtig in der CCU2 reflektiert.
Wenn ich im Browser jetzt folgenden Befehl eingebe:
http://192.168.1.78/status
bekomme ich einen String mit den einzelnen Werten vom Shelly per Komma getrennt angezeigt:
...."meters":[{"power":588.04,"overpower":0.00,"is_valid":true, ...
Speziell der Wert hinter Power interessiert mich. Diesen möchte ich auslesen und in eine Variable schreiben und später in meinem WaMa Programm verwenden.
z.B. WENN Power kleiner als XYZ DANN Schalte WAMA aus.
Mein Problem:
wie bekomme ich den Wert ausgelesen und in Realtime in eine Variable gespeichert und permanent aktualisiert?
ich habe in meine CCU2 einen ShellyPM mit Leistungsmessung über CuxD erfolgreich eingebunden. Ich kann per HM den Shelly AUS und EIN schalten und sehe auch den Status des Shellys richtig in der CCU2 reflektiert.
Wenn ich im Browser jetzt folgenden Befehl eingebe:
http://192.168.1.78/status
bekomme ich einen String mit den einzelnen Werten vom Shelly per Komma getrennt angezeigt:
...."meters":[{"power":588.04,"overpower":0.00,"is_valid":true, ...
Speziell der Wert hinter Power interessiert mich. Diesen möchte ich auslesen und in eine Variable schreiben und später in meinem WaMa Programm verwenden.
z.B. WENN Power kleiner als XYZ DANN Schalte WAMA aus.
Mein Problem:
wie bekomme ich den Wert ausgelesen und in Realtime in eine Variable gespeichert und permanent aktualisiert?
-
- Beiträge: 551
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 125 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Wenn es dir nur um diesen einen Wert geht, probier es so:
Ansonsten guck dir das von MichaelN an: viewtopic.php?f=18&t=68762
Code: Alles auswählen
string JSON_daten= 'meters":[{"power":588.04,"overpower":0.00,"is_valid":true,';
JSON_daten = JSON_daten.ToLatin();
JSON_daten = JSON_daten.Replace("\n", ""); ! Zeilenumbrüche entfernen
JSON_daten = JSON_daten.Replace("\r", "");
string wert = JSON_daten.Substr(JSON_daten.Find(suche) + suche.Length());
wert = (wert.Substr(0 ,wert.Find(',') )).ToFloat();
WriteLine(wert);
Gruß
Harry
Harry
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
ok schaue ich mir an. Aber bekomme ich den Wert dann permanent oder nur einmal wenn das skript läuft? weil ich benötige den Wert ja ca. alle 2s damit ich sehen kann wie er sich verändert
-
- Beiträge: 9684
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1627 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Du musst das natürlich permanent abfragen. Bei einem HM(IP) Aktor würde es automatisch laufen, aber ein Shelly spricht ja nicht HM.
ABER: ich würde nicht dazu raten das alle 2 s zu machen. Das kann Dir deine CCU lahm legen / ausbremsen.
ABER: ich würde nicht dazu raten das alle 2 s zu machen. Das kann Dir deine CCU lahm legen / ausbremsen.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 6744
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 486 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
In Realtime nur per MQTT, da musst Du Dir also MQTT nachträglich auf die CCU basteln, bei einer CCU2 ist das aber wegen der Hardware nicht empfehlenswert, bei einer CCU3 wäre das was anderes.
-
- Beiträge: 14169
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 586 Mal
- Danksagung erhalten: 1501 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Ich denke eher, das diese Ausage das Problem verniedlicht. Das wird definitv die CCU lahm legen. Da ist die mit nichts weiter beschäfitgt, als den Status der Waschmaschine zu akualisieren. Ich frage mich auch, was an einem Waschmaschinenstatus so zeitkritisch ist, dass eine Automation im Sekundenbereich reagieren muss. Ganz abgesehen von der Tatsache, dass die Firmware der CCU nicht wirklich dazu geeignet ist, externe Dienste abzufragen. Selbst ein Schreiben von extern im Takt weniger Sekunden würde ich als stabilitätsgefährdend betrachten.
An der Stelle würde ich mich fragen, warum der Hersteller bei zyklischer Taktung drauf hinweist, maximal alle 15 Minuten (IRC) zu triggern.
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
-
- Beiträge: 9684
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 700 Mal
- Danksagung erhalten: 1627 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Das frage ich mich auch. Für die CCU 2 war das eventuell auch noch angemessen. Die CCU 3 verträgt definitiv mehr. Aber ich würde mich an dem üblichen Zeitraster der HM Sensoren orientieren und als kleinsten Abstand 3 Minuten empfehlen. Wenn etwas zeitkritischer ist, dann ist es keine Aufgabe für eine Hausautomation.
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
-
- Beiträge: 6744
- Registriert: 22.05.2012, 08:40
- System: CCU
- Hat sich bedankt: 25 Mal
- Danksagung erhalten: 486 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Nun der Hersteller e-Q3 unterstützt kein MQTT, daher ist dieser Hinweis ja berechtigt. Bei MQTT wird aber nicht getriggert, sondern das Gerät selber pusht den Status an die CCU bzw. den MQTT Client. Da der Hersteller aber kein MQTT anbietet, muss man das höchstens von Hand irgendwie durch basteln nachrüsten oder man nutzt gleich ein externes System was MQTT kann und lässt die CCU3 selber damit in Ruhe.
Zumindest wird bei MQTT der Status nicht aktiv abgeholt, sondern das Gerät benachrichtigt bei einer Status Änderung, das ist der wesentliche Unterschied dazu, ob man den Status aktiv zyklisch abfragen muss, das fällt nämlich bei MQTT weg. Daher ist MQTT aber auch der einzige Weg, die Daten zeitnah bzw. in Echtzeit zu aktualisieren ohne ständig aktiv den Status anfragen zu müssen.
- Samson71
- Beiträge: 1513
- Registriert: 12.02.2014, 20:51
- Wohnort: Niedersachsen
- Hat sich bedankt: 51 Mal
- Danksagung erhalten: 185 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Wenn Du den Shelly eh schon mit CUxD integriert hast, dann müsstest Du doch auch die Leistung um CUxD-Gerät mit drin haben. Ist im Shelly-Forum gut dokumentiert und braucht keine externen Server, MQTT oder andere Middleware oder Zusatzsoftware auf der CCU.
https://www.shelly-support.eu/forum/ind ... firmware/
Gruß, Markus
-
- Beiträge: 14169
- Registriert: 08.05.2013, 23:33
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Nordwürttemberg
- Hat sich bedankt: 586 Mal
- Danksagung erhalten: 1501 Mal
Re: Shelly json Rückgabe Status - WaMa schalten per CCU2
Also genau, wie es die Homematic-Messaktoren machen. Heißt, der Hersteller hat eine Funktion in seine zum Sytem gehörende Aktorik eingebaut. Wenn man diese nutzt, funktioniert es auch und dann benötigt man auch solche kurzen Aktualisierungsintervalle nicht. Die wären dem Duty Cycle auch mehr als abträglich. Für schnelle Reaktion auf sich ändernde Parameter gibt es aber die Entscheidungswerte.
Falscher Schluss. Der korrekte Weg ist die Benutzung der zum System gehörenden Aktorik mit Messfunktion. Speziell bei "besonderen" Anforderungen. Und wer auf Biegen und Brechen Fremdaktorik implementieren will muss eben basteln. Ein entsprechende MQTT-Addon für eine CCU3&Co gäbe es durchaus. Eine CCU2 (und im die ging es doch laut Titel) dagegen zu zwingen will, mit einem Aktualiserungsinterval mit wenigen Sekunden per HTTP einen externen Status abzuholen, legt sein System vorzüglich auf die Flurplatte. Geiz ist (anscheinend) geil, Homematic auch. Homematic und Geiz zusammen in Verbindung mit Vonhintendurchdiebrustinsaugeworkarounds führt aber eher zu Frust. Just my 2ct - jeder ist seiner Systemstabilität Schmied.
Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch