HMIP-SWO-PR aktuelle Regenmenge auslesen

HMIP lokale Installation

Moderator: Co-Administratoren

hmip_alex
Beiträge: 24
Registriert: 18.02.2024, 12:56
System: CCU
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von hmip_alex » 18.02.2024, 13:02

Hallo liebes Forum!
Nachdem ich schon lange "anonym" lesend aktiv bin brauche ich nun eure Hilfe.
Ich habe einen Wettersensor HMIP-SWO-PR und möchte aus diesem die *aktuelle* Regenmenge auslesen und in eine Variable speichern.
Standardmäßig zeigt der Sensor ja nur die Regenmenge gesamt, vom aktuellen und gestrigen Tag an.

Ich bräuchte also ein Skript, das mir den Regensensor ausliest wenn er gesendet wird, vom letzten gemeldeten subtrahiert und in eine sysVar schreibt.
Das dürfte dann den Regen der letzten zwei bis drei Minuten, also ab der letzten Meldung, ausgeben.

Die Suche hier im Forum und per Google hat mich bisher nicht weitergebracht.

Kann mir da jemand helfen?
Tausend Dank schon mal im Voraus!

hmip_alex
Beiträge: 24
Registriert: 18.02.2024, 12:56
System: CCU
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von hmip_alex » 19.02.2024, 19:29

Ich hab mal folgendes Skript gebastelt, aber es funktioniert nicht.

Code: Alles auswählen

var source = dom.GetObject("Wettersensor:1").DPByHssDP("RAIN_COUNTER").Value();
var oldRaincount = dom.GetObject("Regen gesamt").Value();
var tenMinRain = dom.GetObject("Regen aktuell").Value();

dom.GetObject("Regen aktuell").State((source.Value())-(oldRaincount.Value())) 

dom.GetObject("Regen gesamt").State(source.Value()) 
Das Ding wird alle 10 Minuten aufgerufen, zieht sich den aktuellen Wert des Regensensors, subtrahiert den "alten Wert" aus der Variable "Regen gesamt", schreibt das Ergebnis in "Regen aktuell" und dann den Sensorwert in "Regen gesamt".

hmip_alex
Beiträge: 24
Registriert: 18.02.2024, 12:56
System: CCU
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von hmip_alex » 19.02.2024, 19:55

Jetzt klappts.

Falls es mal jemand brauchen sollte, dies ist mein Skript:

var source = dom.GetObject("Wettersensor:1").DPByHssDP("RAIN_COUNTER").Value();
var oldRaincount = dom.GetObject("Regen gesamt").Value();

dom.GetObject("Regen aktuell").State(source-oldRaincount)

dom.GetObject("Regen gesamt").State(source.Value())


Edit: Siehe diesen Post: viewtopic.php?f=60&t=81786#p797262
Dateianhänge
2.PNG
2.PNG (2.81 KiB) 277 mal betrachtet
1.PNG
Zuletzt geändert von hmip_alex am 20.02.2024, 12:06, insgesamt 1-mal geändert.

MichaelN
Beiträge: 9685
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 700 Mal
Danksagung erhalten: 1627 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von MichaelN » 19.02.2024, 20:48

hmip_alex hat geschrieben:
19.02.2024, 19:55
Jetzt klappts.
Trotz der 2 fehlenden ; :?:
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 +++

hmip_alex
Beiträge: 24
Registriert: 18.02.2024, 12:56
System: CCU
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von hmip_alex » 19.02.2024, 23:15

Ja, trotz der fehlenden ";" :D
Meinst Du so?

var source = dom.GetObject("Wettersensor:1").DPByHssDP("RAIN_COUNTER").Value();
var oldRaincount = dom.GetObject("Regen gesamt").Value();

dom.GetObject("Regen aktuell").State(source-oldRaincount);

dom.GetObject("Regen gesamt").State(source.Value());
Zuletzt geändert von hmip_alex am 21.02.2024, 09:14, insgesamt 1-mal geändert.


hmip_alex
Beiträge: 24
Registriert: 18.02.2024, 12:56
System: CCU
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von hmip_alex » 19.02.2024, 23:52

Baxxy hat geschrieben:
19.02.2024, 23:27
Kein ScriptRuntimeError im Log?

Code: Alles auswählen

.State(source.Value());
Dürfte nicht gehen weil source eine Scriptvariable ist und kein Object.
Nein kein Fehler.
Wie wäre es denn dann richtig?

Benutzeravatar
Baxxy
Beiträge: 10850
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 610 Mal
Danksagung erhalten: 2230 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von Baxxy » 20.02.2024, 00:16

Interessant.

In Zeile 1 weist du der Scriptvariablen den Wert mit .VALUE() zu.

Code: Alles auswählen

var source = dom.GetObject("Wettersensor:1").DPByHssDP("RAIN_COUNTER").Value();
In Zeile 4 machst du es richtig.

Zeile 5 dann so:

Code: Alles auswählen

dom.GetObject("Regen gesamt").State(source);

Tyfys
Beiträge: 551
Registriert: 17.04.2021, 17:12
System: CCU
Hat sich bedankt: 27 Mal
Danksagung erhalten: 125 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von Tyfys » 20.02.2024, 07:46

Baxxy hat geschrieben:
19.02.2024, 23:27
Dürfte nicht gehen weil source eine Scriptvariable ist und kein Object.
das war hier schon mal Thema : viewtopic.php?f=65&t=81089&p=789932#p789912
Gruß
Harry

hmip_alex
Beiträge: 24
Registriert: 18.02.2024, 12:56
System: CCU
Hat sich bedankt: 7 Mal
Danksagung erhalten: 1 Mal

Re: HMIP-SWO-PR aktuelle Regenmenge auslesen

Beitrag von hmip_alex » 20.02.2024, 12:04

Gut, danke für die Hinweise.
Jetzt sieht es so aus:

Code: Alles auswählen

var source = dom.GetObject("Wettersensor:1").DPByHssDP("RAIN_COUNTER").Value();
var oldRaincount = dom.GetObject("Regen gesamt").Value();

dom.GetObject("Regen aktuell").State(source-oldRaincount);

dom.GetObject("Regen gesamt").State(source);
Ist mein erstes Skript, bzw das erste mal, dass ich überhaupt etwas selbst programmiert habe.

Antworten

Zurück zu „HomeMatic IP mit CCU“