Howto - kleines Skript zur Sturmmeldung

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
Andronid
Beiträge: 237
Registriert: 06.03.2012, 17:52
Wohnort: Beelitz

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von Andronid » 13.03.2019, 13:11

dtp hat geschrieben:
12.03.2019, 14:16
Nun ja, wenn's um die Einbindung der Netatmo geht, kann ich dich nur hier drauf verweisen.
Danke Thorsten, die Netatmo läuft bei mir schon eine ganze Weile erfolgreich mit. Ich hatte heute Morgen auf meinem Smartphone "HomeMatic Warnung Neue Servicemeldung" Allerdings nicht so wie bei dir "Achtung Strurm, Windstärke ..." Wo wird denn der Text erzeugt? Habe ich da etwas übersehen? Machmal sieht man ja den Wald vor lauter Bäumen nicht.

Gruß Reinhard

PS: Ich verwende Pushover
Beste Grüße
Andronid


--------------------------------------------------------------------------------------------------------
RaspiMatic, Fw: 3.43.15, 132 Kanäle in 66 Geräten und 48 CUxD-Kanäle in 3 CUxD-Geräten:

---------------------------------------------------------------------------------------------------------

dtp
Beiträge: 6334
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von dtp » 13.03.2019, 15:12

Was meinst du denn mit "wo wird der Text erzeugt"? Erzeugt wird er im Sturm-Skript mit der lokalen Variablen "message". Gesendet wird er dann über das zPNP. Die entsprechenden Zeilen zum Aufruf des zPNP lassen sich aber auch durch einen direkten Aufruf für Pushover ersetzen. Allerdings muss das dann jeder selbst für sich ändern.
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
Andronid
Beiträge: 237
Registriert: 06.03.2012, 17:52
Wohnort: Beelitz

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von Andronid » 14.03.2019, 09:01

Habe die Stelle gefunden, wo der Text erzeugt wird in deinem Skript. Leider funktioniert das bei mir mit den Daten von der Netatmo nicht. Schade!
Beste Grüße
Andronid


--------------------------------------------------------------------------------------------------------
RaspiMatic, Fw: 3.43.15, 132 Kanäle in 66 Geräten und 48 CUxD-Kanäle in 3 CUxD-Geräten:

---------------------------------------------------------------------------------------------------------

dtp
Beiträge: 6334
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von dtp » 14.03.2019, 17:34

Nun ja, deine Netatmo muss ja auch irgendwie eine Windgeschwindigkeit an die CCU übergeben. Wie macht sie das denn und welchen Inhalt hat der Parameter?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
Andronid
Beiträge: 237
Registriert: 06.03.2012, 17:52
Wohnort: Beelitz

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von Andronid » 14.03.2019, 18:39

Das wird hier beschrieben: viewtopic.php?f=31&t=28188&hilit=howto+netatmo . Als "nur " Anwender kann ich das nicht so richtig beschreiben. Wenn du dir die Mühe machst es zu lesen, bin ich der Meinung, dass du es eher so verstehst als ich es erklären kann. :(
Ich habe alle Geräte , also für Niederschläge, Wind und Temperatur in der CCU im Verzeichnis /usr/local/addons/netatmo/ Mehr kann ich leider nicht dazu sagen.
Gruß Reinhard
Beste Grüße
Andronid


--------------------------------------------------------------------------------------------------------
RaspiMatic, Fw: 3.43.15, 132 Kanäle in 66 Geräten und 48 CUxD-Kanäle in 3 CUxD-Geräten:

---------------------------------------------------------------------------------------------------------

dtp
Beiträge: 6334
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von dtp » 15.03.2019, 11:13

Das heißt, du hast bei dir auf der CCU eine Systemvariable "Windstaerke" angelegt, die die mit der Netatmo gemessene Windgeschwindigkeit in km/h enthält, oder?

Falls dem so ist, versuche es doch mal mit dem nachfolgenden Skript:

Code: Alles auswählen

! Meldung Sturm
! Version 2.5.3na, Autor: dtp
 
! Namen der verwendeten Systemvariablen
string svPushText = "CCU SV Push Text"; ! gem. zPNS-xx, obligatorisch
string svPushPrio = "CCU SV Push Prio"; ! gem. zPNS-xx, obligatorisch
string svWindSpeed = "Windstaerke"; ! per Netatmo gemessene Windgeschwindigkeit, obligatorisch
string svWindSpeedDayMax = "Haus SV Sturm Tag"; ! Tageswindhöchstgeschwindigkeit, obligatorisch
string svPushoverSound = "CCU SV Pushover Sound"; ! gem. zPNS-Po, optional
 
! Name des zentralen Push-Nachrichten-Programms
string zPNP = "CCU PRG Push-Nachrichten"; ! obligatorisch
 
! Bargraph der Windstärken
real range = 12.0; ! Maximalwert des darzustellenden Bereichs
real bars = 12.0; ! Anzahl Bars innerhalb range
 
! #####################################################################
! ##### ab hier bitte keine weiteren Einstellungen mehr vornehmen #####
! #####################################################################
 
! +++++ Deklaration weiterer Variablen +++++
string bargraph = ""; string message; string windSpeed; string windSpeedDayMax; string windIndex;
string windForceTable = "1\t6\t12\t20\t29\t39\t50\t62\t75\t89\t103\t118"; 
integer windForce = 0;
real barIndex = 0.0;

! +++++ Systemvariable für die Tageswindhöchstgeschwindigkeit auslesen +++++
windSpeedDayMax = (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svWindSpeedDayMax)).Value();

! +++++ Sound für Pushover-Nachricht +++++
if(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)){(dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushoverSound)).State("siren");}

! +++++ Aktuelle Windgeschwindigkeit +++++
windSpeed = (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svWindSpeed)).Value();

! +++++ Nachricht senden, wenn Windgeschwindigkeit zugenommen hat +++++
if(windSpeed > windSpeedDayMax){
  ! ----- Setzen der Tageswindhöchstgeschwindigkeit -----
  windSpeedDayMax = (dom.GetObject(ID_SYSTEM_VARIABLES).Get("Haus SV Sturm Tag")).State(windSpeed);

  ! ----- Umwandlung in Windstärken -----
  foreach(windIndex, windForceTable){if(windSpeed >= windIndex){windForce = windForce+1;}}
  ! ----- Berechnung des Bargraphs -----
  while((barIndex < windForce) && (barIndex <= (range - range/bars))){
    bargraph = bargraph#"|";
    barIndex = barIndex + range/bars;
  }

  if(windForce >= 7){
    ! +++++ Setzen der Priorität für die Push-Nachricht +++++
    (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio)).State("1");

    ! +++++ Erzeugen der Nachricht +++++
    message = "<font color=red>Achtung, Sturm!</font>\n"#bargraph#" Windstärke "#windForce#" ("#windSpeed.ToString(2)#" km/h)";
  }
  else{
    ! +++++ Setzen der Priorität für die Push-Nachricht +++++
    (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushPrio)).State("0");

    ! +++++ Erzeugen der Nachricht +++++
    message = "<font color=orange>Achtung, Starkwind!</font>\n"#bargraph#" Windstärke "#windForce#" ("#windSpeed.ToString(2)#" km/h)";
  }
 
  ! +++++ Programm "CCU PRG Push-Nachrichten" ausführen ++++
  (dom.GetObject(ID_SYSTEM_VARIABLES).Get(svPushText)).State(message);
  (dom.GetObject(ID_PROGRAMS).Get(zPNP)).ProgramExecute();
}
Falls es Probleme gibt, zeig doch bitte mal einen Screenshot des Inhalts der Systemvariablen "Windstaerke" (WebUI -> Status und Bedienung -> Systemvariable).
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
Andronid
Beiträge: 237
Registriert: 06.03.2012, 17:52
Wohnort: Beelitz

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von Andronid » 15.03.2019, 11:54

Genau so ist es. Wenn ich wieder zu Hause bin probiere ich mal dein Skript gleich aus und werde berichten. Vielen Dank schon mal im Voraus!

Gruß Reinhard

So, jetzt habe ich dein neues Skript ersetzt und den Wert von 39 auf 3 geändert, da es im Augenblick wohl nicht so windig ist. Dann habe ich Das Programm ausführen lassen, da wurde zuerst der Wert der Variablen Windstaerke auf 0 gesetzt, dann aber auf 3:
Windstaerke 15.03.2019 16:30:06 3.00 km/h
PushText wurde wie folgt geändert:
CCU SV Push Text Aktuelle Push-Nachrichten 15.03.2019 16:24:59 Achtung, Starkwind!| Windstärke 1 (3.00 km/h)
Das sieht erst einmal alles sehr gut aus. Lediglich wurde keine Pushnachricht versandt. Muss ich da evtl. noch dort eine Einstellung anpassen?
Beste Grüße
Andronid


--------------------------------------------------------------------------------------------------------
RaspiMatic, Fw: 3.43.15, 132 Kanäle in 66 Geräten und 48 CUxD-Kanäle in 3 CUxD-Geräten:

---------------------------------------------------------------------------------------------------------

dtp
Beiträge: 6334
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von dtp » 18.03.2019, 19:25

Nutzt du denn das zPNP?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Benutzeravatar
Andronid
Beiträge: 237
Registriert: 06.03.2012, 17:52
Wohnort: Beelitz

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von Andronid » 19.03.2019, 10:02

Ja, nutze ich. Allerdings ohne Bilderversandt und nur die Pushnachrichten. Außerdem die Servicemeldungen "allinclusive" Skript.

Anmerkung: Ich habe jetzt mal dein Skript für die Stromzählerstände (nur Strom) eingebunden. Die SV werden gefüllt, aber auch hier bekomme ich keine Pushnachricht. Das scheint das Problem zu sein.
Beste Grüße
Andronid


--------------------------------------------------------------------------------------------------------
RaspiMatic, Fw: 3.43.15, 132 Kanäle in 66 Geräten und 48 CUxD-Kanäle in 3 CUxD-Geräten:

---------------------------------------------------------------------------------------------------------

dtp
Beiträge: 6334
Registriert: 21.09.2012, 08:09
Wohnort: Stuttgart

Re: Howto - kleines Skript zur Sturmmeldung

Beitrag von dtp » 20.03.2019, 14:04

Und die lokale Variable

Code: Alles auswählen

! Name des zentralen Push-Nachrichten-Programms
string zPNP = "CCU PRG Push-Nachrichten"; ! obligatorisch
ist in allen aufrufenden Skripten auf den Namen deines zPNP gesetzt?
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container, Homebridge auf Raspberry Pi 3B+;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“