ich habe bereits öfters hgier in diesem Forum Beiträge gewälzt, aber jetzt war es an der Zeit mich anzumelden da mein aktuelles Problem nur mittels eines Skripts gelöst werden kann - und hier bin ich leider total blank weshalb ich hoffe hier etwas Unterstützung zu erhalten.
Ich habe eine CCU3 in Betrieb auf der etliche (eher viele) Geräte und auch jede Menge Programme laufen - grundsätzlich habe ich von FS20 und MobileAlerts auf Homematic umgestellt.
Seit einigen Monaten läuft auch eine Wetterstation HmIP-SWO-PR an meiner CCU3 und die wichtigsten Daten werden in ein paar Diagramme geschrieben.
In unserem Garten habe ich auch eine automatische Bewässerung eingebaut, die über eine Siemens Logo SPS läuft welche unter anderem von einer 4-Kanal Schaltbaugruppe HM-LC-Sw4-PCB "befeuert" wird (edit: diese Schaltbaugruppe hatte immer mal wieder Empfangsprobleme weshalb ich erfolgreich auf einen HmIP-WGC umgebaut habe). Leider kann ich bei der Wetterstation nicht alle Daten so auslesen und verarbeiten wie ich es für die Bewässerung gerne hätte. Mit Windstärke und Luftfeuchte komme ich gut zurecht, aber leider kann ich die Regenmengen nicht wirklich zur Auswertung nutzen.
Hier die Aufgabenstellung:
Ich möchte gerne die Regenmenge auslesen und in eine Systemvariable schreiben, und mit Hilfe dieser Systemvariable möchte ich entscheiden, ob der Rasen heute gegossen/gesprengt werden soll oder nicht. Als Entscheidungswert möchte ich eine beliebige Obergrenze (mm pro m²) setzen können.
Sobald es regnet soll sich der Niederschlag in die Variable schreiben und bei jedem neuen Regen soll der Wert aktualisiert werden. Sobald es aber 24 Stunden nicht geregnet hat soll die Variable automatisch auf 0 zurückgestellt werden.
Was ich mir bereits zusammenbasteln konnte:
Sobald es regnet wird über ein Programm ein Skript angetriggert: Das Skript schaut aktuell so aus (ich muss dazu sagen dass ich von Skripten überhaupt keine Ahnung habe und nach nach langer "Studierzeit" nichts dazulernen konnte - ich steig da einfach überhaupt nicht durch):
Code: Alles auswählen
!Variablen setzen
var actRain = dom.GetObject('svHmIPRainCounter_34801_00185A499D0BD3:1').Value();
var sumRain = dom.GetObject("Niederschlag").Value();
!Wert schreiben
dom.GetObject("Niederschlag").State(actRain);
Die Systemvariable kann ich dann natürlich wieder selbst in den normalen Ablauf zur Entscheidung Gießen oder nicht Gießen einbinden, das ist kein Problem.
Nur dieses Skript treibt mich noch in den Wahnsinn.
Könnte mir da vielleicht bitte Jemand helfen??
Viele Grüße und besten Dank im Voraus
Manfred