{"id":348,"date":"2024-03-26T15:54:21","date_gmt":"2024-03-26T14:54:21","guid":{"rendered":"https:\/\/kappelers.ch\/wordpress\/?p=348"},"modified":"2025-08-14T15:00:44","modified_gmt":"2025-08-14T13:00:44","slug":"einrichtung-simulation-hagelbox-auf-homematic","status":"publish","type":"post","link":"https:\/\/kappelers.ch\/wordpress\/wordpress\/trenino\/technik\/einrichtung-simulation-hagelbox-auf-homematic\/","title":{"rendered":"Einrichtung\/Simulation Hagelbox auf HomeMatic"},"content":{"rendered":"\n<p>Bei den Geb\u00e4udeversicherungen kann man eine kostenlose <strong><em>Hagelbox <\/em><\/strong>bestellen, welche dann allf\u00e4llige Hagel-Alarme dazu nutzt, um Storen hochzufahren etc..<br>Details siehe:<br><a href=\"https:\/\/www.hagelschutz-einfach-automatisch.ch\/eigentuemer-verwaltungen\/das-system-erklaert\/anleitung.html\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.hagelschutz-einfach-automatisch.ch\/eigentuemer-verwaltungen\/das-system-erklaert\/anleitung.html<\/a><br><br>Bei einem HomeMatic-System lassen sich die Hagel-Alarme in der CCU direkt \u00fcber das METEO REST API abfragen und auswerten. Der Betrieb einer zus\u00e4tzlichen Box ist obsolet.<br><br>Unter Kapitel 4.2 der PDF-Anleitung ist dieses Vorgehen f\u00fcr aktuelle Smarthome-Systeme im Detail erkl\u00e4rt.<br><a href=\"https:\/\/www.hagelschutz-einfach-automatisch.ch\/files\/media\/hagelschutz-einfach-automatisch\/hagelschutz-einfach-automatisch-anleitung-konfiguration-faq-gen3.pdf\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/www.hagelschutz-einfach-automatisch.ch\/files\/media\/hagelschutz-einfach-automatisch\/hagelschutz-einfach-automatisch-anleitung-konfiguration-faq-gen3.pdf<\/a><\/p>\n\n\n\n<p><br><br><\/p>\n\n\n\n<p>Vorerst muss das Registrations-Formular bei <strong><em>hagelschutz-einfach-automatisch.ch<\/em><\/strong> ausgef\u00fcllt werden.<br>Bei Bemerkungen nicht vergessen zu erw\u00e4hnen, dass man keine Hagelbox will und nur Zugriff auf das METEO REST API.  Man kann auch gleich die MAC-Adresse der CCU mitliefern.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><br>Sobald die Registration komplett ist, erh\u00e4lt man die pers\u00f6nlichen Zugangsdaten zum Portal von <strong>meteo.netitservices.com<\/strong> und Detailinformationen zur  Abfrage via REST API, d.h. die komplette URL.<br><br><\/p>\n\n\n\n<p>Damit das Herausfahren der Storen bei einem anstehenden Hagel-Alarm verhindert werden kann, d\u00fcrfen keine entsprechenden Direktverkn\u00fcpfungen zwischen Taster und Rollladen-Aktor bestehen.<br>Stattdessen braucht es ein Mini-Programm, dass den Hagel-Alarm-Zustand (Systemvariable) pr\u00fcft, bevor der Befehl zum Herausfahren an den Aktor weitergeleitet wird.<br><\/p>\n\n\n\n<p><\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"245\" src=\"https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_direkt-1-1024x245.jpg\" alt=\"\" class=\"wp-image-358\" srcset=\"https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_direkt-1-1024x245.jpg 1024w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_direkt-1-300x72.jpg 300w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_direkt-1-768x183.jpg 768w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_direkt-1-1536x367.jpg 1536w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_direkt-1.jpg 1918w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">L\u00f6schen der Direkt-Verkn\u00fcpfung Taster&#8211;&gt;Aktor zum Herausfahren.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"271\" src=\"https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_prg-1-1024x271.jpg\" alt=\"\" class=\"wp-image-359\" srcset=\"https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_prg-1-1024x271.jpg 1024w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_prg-1-300x79.jpg 300w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_prg-1-768x203.jpg 768w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_prg-1-1536x407.jpg 1536w, https:\/\/kappelers.ch\/wordpress\/wp-content\/uploads\/2024\/03\/roll_prg-1.jpg 1639w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Kleines Programm in der CCU anlegen, anstelle der gel\u00f6schten Direkt-Verkn\u00fcpfung Taster&#8211;&gt;Aktor<br>und darin den Zustand der Systemvariablen <em><strong>HailState <\/strong><\/em>pr\u00fcfen, bevor ein Befehl an den Aktor geht.<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong>Script zur Erstellung einer Systemvariablen HailState:<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><kbd>! create persistent variable\nstring persistentVarName=\"HailState\";\n\nobject\tsysVar  = dom.GetObject(persistentVarName);\nobject \tsysVarObjects = dom.GetObject(ID_SYSTEM_VARIABLES);\n\nif (sysVar  ) {\n\tWriteLine(\"System Variable \"#persistentVarName#\" already exists!\");\n} else {\n\tsysVar = dom.CreateObject(OT_VARDP);\n\tsysVarObjects.Add(sysVar.ID());\n\tsysVar.Name(persistentVarName);\n\tsysVar.ValueType(ivtInteger);\n\tsysVar.ValueSubType(istEnum);\n\tsysVar.DPInfo(\"Zustand HagelWarnung\");\n\tsysVar.ValueUnit(\"\");\n\tsysVar.ValueList(\"keinHagel;HagelWARNUNG;testHagelWARNUNG;keineVerbindung;unbekannt\");\n\tsysVar.DPArchive(true); !do  log changes of this system var\n\tsysVar.State(4); ! initial value\n\tsysVar.Internal(false); !not an internal var\n\tsysVar.Visible(true);\n\tWriteLine(persistentVarName#\" created.\");\n}  <\/kbd><\/code><\/pre>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Script zur Abfrage der Hagelwarnung via REST API:<\/strong><br><br><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><kbd>! Script zur Abfrage der Hagelwarnung! V2.0 - 14.08.2025\n!\n!  NEU: Protokollierung der Systemvariable kann eingeschaltet werden. \n!\n!speichert den Abfragestatus in einer Systemvariable, welche dann f\u00fcr das \"Storen-Hoch\"-Kommando direkt gesetzt wird \n!alle Zust\u00e4nde ungleich 0 sollten als HagelWarnung interpretiert werden.\n!\n! Storen Ausfahren \/ runter - Taster duerfen NICHT mehr direkt programmiert werden.\n! In einem Script muessen diese Taster zusaetzlich die SV-Variable HailState auf \"keinHagel\" \/ 0 pruefen.\n\n!script to be called each 2 minutes\n!\n!\n\n! init\t\nstring needle=\"\";\nstring comma = \",\";\ninteger valPos=0;\ninteger hailState=4;\ninteger oldHailState=4;\n\n!froll-Aktoren\nstring rollladenOST=\"HmIP-RF.00115F29ABE946:4.LEVEL\";\nstring rollladenSUED=\"HmIP-RF.00115D89AED3BA:4.LEVEL\";  \n\n!sv for Hagelwarnung\nstring sv_HagelWarnung=\"HailState\";\n\n! Feste IP Adresse des HAGEL-Warnservice \/ URL zur Abfrage der Hagelwarnung\nstring data_url= \"https:\/\/meteo.netitservices.com\/api\/v1\/devices\/MAC-Adresse\/poll?hwtypeId=nr\";\n\n! CUxD-device for system calls\nvar CUxD_Device = \"CUxD.CUX2801001:4\";\n!\n!Mail-Versand\n!dom.GetObject(\"CUxD.CUX2801001:1.CMD_EXEC\").State(\"\/etc\/config\/addons\/email\/email 01\");\n\n! Werte vom HAGEL-Warnservicer holen ...\ndom.GetObject(CUxD_Device + \".CMD_SETS\").State(\"wget -q -O - '\" + data_url + \"'\");\ndom.GetObject(CUxD_Device + \".CMD_QUERY_RET\").State(1);\nstring data_json = dom.GetObject(CUxD_Device + \".CMD_RETS\").State();\n\nif (data_json==\"\") { ! no connection to HAGEL-Warnservice ... keep current values etc.\n\t#dom.GetObject(sv_HagelWarnung).State(3);\n} else {\n\n\toldHailState=dom.GetObject(sv_HagelWarnung).State().ToInteger();\n\t\n\tneedle = \"\\\"currentState\\\" : \";\n\tvalPos = data_json.Find(needle) +  needle.Length();\n\thailState = data_json.Substr(valPos,20).StrValueByIndex(comma,0).ToInteger();\n\t\n\t<\/kbd>\n<kbd>\tif (oldHailState != hailState) { ! state change\n    \tif (oldHailState==0) { ! state change to HAIL Warning\n            \n\t\t\t! Storen hoch\n\t\t\tdom.GetObject(rollladenSUED).State(1.0);\n\t\t\tdom.GetObject(rollladenOST).State(1.0);\n\n\t\t\t!Mail-Versand\n\t\t\tdom.GetObject(\"CUxD.CUX2801001:1.CMD_EXEC\").State(\"\/etc\/config\/addons\/email\/email 03\");\n        } <\/kbd>\n<kbd>\n        dom.GetObject(sv_HagelWarnung).State(hailState);  ! save new state   \n    \t<\/kbd>\n<kbd>\n\t}   \n\t\n}    <\/kbd><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bei den Geb\u00e4udeversicherungen kann man eine kostenlose Hagelbox bestellen, welche dann allf\u00e4llige Hagel-Alarme dazu nutzt, um Storen hochzufahren etc..Details siehe:https:\/\/www.hagelschutz-einfach-automatisch.ch\/eigentuemer-verwaltungen\/das-system-erklaert\/anleitung.html Bei einem HomeMatic-System lassen sich die Hagel-Alarme in der CCU direkt \u00fcber das METEO REST API abfragen und auswerten. Der Betrieb einer zus\u00e4tzlichen Box ist obsolet. Unter Kapitel 4.2 der PDF-Anleitung ist dieses Vorgehen f\u00fcr &#8230; <a title=\"Einrichtung\/Simulation Hagelbox auf HomeMatic\" class=\"read-more\" href=\"https:\/\/kappelers.ch\/wordpress\/wordpress\/trenino\/technik\/einrichtung-simulation-hagelbox-auf-homematic\/\" aria-label=\"Mehr Informationen \u00fcber Einrichtung\/Simulation Hagelbox auf HomeMatic\">Weiterlesen<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[11,12,13],"class_list":["post-348","post","type-post","status-publish","format-standard","hentry","category-technik","tag-hagelbox","tag-hagelwarnung","tag-homematic"],"_links":{"self":[{"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/posts\/348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/comments?post=348"}],"version-history":[{"count":11,"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/posts\/348\/revisions"}],"predecessor-version":[{"id":372,"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/posts\/348\/revisions\/372"}],"wp:attachment":[{"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/media?parent=348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/categories?post=348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kappelers.ch\/wordpress\/wp-json\/wp\/v2\/tags?post=348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}