Link/Skript-Sammlung
Moderator: Co-Administratoren
- AndiN
- Beiträge: 2621
- Registriert: 10.06.2015, 08:54
- Wohnort: Hennef
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 28 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Hallo,
ich habe jetzt das Unwetter Skript 2.67 habe ich jetzt auch auf die tmp-Variante geändert.
Andi
ich habe jetzt das Unwetter Skript 2.67 habe ich jetzt auch auf die tmp-Variante geändert.
Andi
Andi (Greenhorn)
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Re: Script Probleme (überarbeitete Skripts)
AndiN hat geschrieben:Unwetter Skript von blackhole (http://homematic-forum.de/forum/viewtop ... 31&t=27234)Code: Alles auswählen
!------------------------------------------------------------------------------------------------------------ ! Wetterwarnung DWD v2.67 ! zusammengestellt von blackhole, es wurden viele Code-Schnippsel von ! diversen Forenmitgliedern der Community 'homematic-forum.de' verwendet !------------------------------------------------------------------------------------------------------------ !------------------------------------------------------------------------------------------------------------ ! Voreinstellungen hier vornehmen:(CUxD-Device, Systemvariablen, Region) !------------------------------------------------------------------------------------------------------------ !Genaue Bezeichnung der Region aus DWD-Karte "Warnungen - aktuell" entnehmen !Siehe: http://www.dwd.de/DE/wetter/warnungen/warnWetter_node.html string tmpA = "Rhein Sieg Kreis"; !Virtuelles CUxD-Exec-Device hier angeben string tmpB = "CUxD.CUX2801001:1"; !Nötige CCU-Systemvariablen !In der CCU anzulegende Systemvariablen stehen nachfolgend in Anführungszeichen string tmpC = "SV_Wetterwarnung_Anzahl"; !Zahl string tmpD = "SV_Wetterwarnung_Kurztext"; !Zeichenkette string tmpE = "SV_Wetterwarnung_von"; !Zeichenkette string tmpF = "SV_Wetterwarnung_bis"; !Zeichenkette string tmpG = "SV_Wetterwarnung_Langtext"; !Zeichenkette string tmpH = "SV_Wetterwarnung_Schlagwort"; !Zeichenkette string tmpI = "SV_Wetterwarnung_Art"; !Zeichenkette !------------------------------------------------------------------------------------------------------------ ! Filter ein-/ausschalten und Filterliste für Wetterwarnungen definieren !------------------------------------------------------------------------------------------------------------ !Gültige Werte sind "ein" und "aus" (Default: aus) string tmpJ = "aus"; !Gültige Werte sind frei definierbare Suchausdrücke (Default: oberhalb) !Ein Suchausdruck darf aus mehreren Wörtern, Wortteilen und/oder Zahlen bestehen !Die Suchausdrücke der Filterliste werden durch Tabs "/t" voneinander getrennt !Eine Filterliste, die z.B. Warnungen in einzelnen Höhenlagen ausfiltert: !Beispiel: "oberhalb 400 m/toberhalb 600 m/toberhalb 800 m/toberhalb 1000 m" !Eine beispielhafte Filterliste, die Warnungen in allen Höhenlagen austmpJt: string tmpK = "oberhalb"; !------------------------------------------------------------------------------------------------------------ ! Debug-Modus (Ausgabe nur im Bereich "Skript testen" der CCU) !------------------------------------------------------------------------------------------------------------ !Gültige Werte sind "ein" und "aus" (Default: aus) string tmpL = "aus"; !------------------------------------------------------------------------------------------------------------ ! Ab hier muss man nichts mehr beachten !------------------------------------------------------------------------------------------------------------ !------------------------------------------------------------------------------------------------------------ ! Sonderzeichen in "Region" HTML-codieren !------------------------------------------------------------------------------------------------------------ string tmpM; string tmpN; foreach(tmpN,tmpA.Split("ä")) { tmpM = tmpM # tmpN # "&a" # "uml;"; } tmpA = tmpM; tmpM = ""; foreach(tmpN,tmpA.Split("ö")) { tmpM = tmpM # tmpN # "&o" # "uml;"; } tmpA = tmpM; tmpM = ""; foreach(tmpN,tmpA.Split("ü")) { tmpM = tmpM # tmpN # "&u" # "uml;"; } tmpA = tmpM; tmpM = ""; foreach(tmpN,tmpA.Split("Ä")) { tmpM = tmpM # tmpN # "&A" # "uml;"; } tmpA = tmpM; tmpM = ""; foreach(tmpN,tmpA.Split("Ö")) { tmpM = tmpM # tmpN # "&O" # "uml;"; } tmpA = tmpM; tmpM = ""; foreach(tmpN,tmpA.Split("Ü")) { tmpM = tmpM # tmpN # "&U" # "uml;"; } tmpA = tmpM; tmpM = ""; foreach(tmpN,tmpA.Split("ß")) { tmpM = tmpM # tmpN # "&sz" # "lig;"; } tmpA = tmpM; tmpM = ""; tmpA = tmpA.Substr(0, tmpA.Length()-43); !------------------------------------------------------------------------------------------------------------ ! DWD-Warntabelle in 25k(+25k)-Abschnitten laden bis die Region gefunden wurde !------------------------------------------------------------------------------------------------------------ string tmpO = "http://www.dwd.de/DWD/warnungen/warnapp/json/warnings.html"; string tmpP = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl"; integer tmpQ = 1; integer tmpR = 25000; integer tmpS = 1; string tmpT = tmpP # " --range " # tmpQ # "-" # tmpR # " " # tmpO; string tmpU = tmpA; string tmpV = " /tr /table"; dom.GetObject(tmpB # ".CMD_SETS").State(tmpT); dom.GetObject(tmpB # ".CMD_QUERY_RET").State(1); string tmpW = dom.GetObject(tmpB # ".CMD_RETS").State(); integer tmpX = tmpW.Find("Letzte Aktualisierung"); integer tmpY = tmpW.Find(tmpU); if ((tmpY >= 0) && (tmpW.Length() >= 25000)) { tmpQ = tmpR - 99; tmpR = tmpR + 24900; tmpT = tmpP # " --range " # tmpQ # "-" # tmpR # " " # tmpO; dom.GetObject(tmpB # ".CMD_SETS").State(tmpT); dom.GetObject(tmpB # ".CMD_QUERY_RET").State(1); tmpW = tmpW + dom.GetObject(tmpB # ".CMD_RETS").State(); } while ((tmpY < 0) && (tmpW.Length() >= 25000) && (tmpS <= 30)) { tmpS = tmpS + 1; tmpQ = tmpR - 99; tmpR = tmpR + 24900; tmpT = tmpP # " --range " # tmpQ # "-" # tmpR # " " # tmpO; dom.GetObject(tmpB # ".CMD_SETS").State(tmpT); dom.GetObject(tmpB # ".CMD_QUERY_RET").State(1); tmpW = dom.GetObject(tmpB # ".CMD_RETS").State(); tmpY = tmpW.Find(tmpU); if ((tmpY >= 0) && (tmpW.Length() >= 25000)) { tmpQ = tmpQ + 25000; tmpR = tmpR + 25000; tmpT = tmpP # " --range " # tmpQ # "-" # tmpR # " " # tmpO; dom.GetObject(tmpB # ".CMD_SETS").State(tmpT); dom.GetObject(tmpB # ".CMD_QUERY_RET").State(1); tmpW = tmpW + dom.GetObject(tmpB # ".CMD_RETS").State(); } } if (tmpL == "ein") { WriteLine("Anzahl Downloads: " # tmpS); } !------------------------------------------------------------------------------------------------------------ ! Relevanter Bereich ausschneiden und zuweisen !------------------------------------------------------------------------------------------------------------ tmpW = tmpW.Substr(tmpY, 5000); integer tmpZ = tmpW.Find(tmpU); integer tmpA1 = tmpW.Find(tmpV); integer tmpB1 = 0; if (tmpY >= 0) { tmpB1 = 1; } if(tmpB1 > 0){ tmpW = tmpW.Substr(tmpZ, tmpA1 - tmpZ); !--------------------------------------------------------------------------------------------------------- ! HTML-codierte Sonderzeichen in Text umwandeln !--------------------------------------------------------------------------------------------------------- string tmpC1; string tmpE1; string tmpF1; foreach(tmpN,tmpW.Split("&")){ tmpC1 = tmpN; tmpF1 = tmpC1.Substr(0, 4); if (tmpF1 == "auml") { tmpF1 = "ä"; } if (tmpF1 == "ouml") { tmpF1 = "ö"; } if (tmpF1 == "uuml") { tmpF1 = "ü"; } if (tmpF1 == "Auml") { tmpF1 = "Ä"; } if (tmpF1 == "Ouml") { tmpF1 = "Ö"; } if (tmpF1 == "Uuml") { tmpF1 = "Ü"; } if (tmpF1 == "sup2") { tmpF1 = "²"; } if (tmpF1 == "deg;") { tmpF1 = "°"; } if (tmpF1 == "szli") { tmpF1 = "ß"; } if (tmpF1 == "°") {tmpC1 = tmpF1 # tmpC1.Substr(0, tmpW.Length()); } if (tmpF1 == "ß") { tmpC1 = tmpF1 # tmpC1.Substr(6, tmpW.Length()); } else{ tmpC1 = tmpF1 # tmpC1.Substr(5, tmpW.Length()); } tmpE1 = tmpE1 + tmpC1; } tmpW = tmpE1; !--------------------------------------------------------------------------------------------------------- ! Anzahl der Warnungen ermitteln !--------------------------------------------------------------------------------------------------------- tmpB1 = 0; tmpF1 = tmpW; tmpU = "tr td"; tmpY = 1; while (tmpY > 0) { tmpY = tmpF1.Find(tmpU); tmpF1 = tmpF1.Substr(tmpY + 6, 5000); if(tmpY > 0){ tmpB1 = tmpB1 + 1; } } !--------------------------------------------------------------------------------------------------------- ! Warnung auslesen, Tabellenzeile der Region tmpJn, zerlegen und filetieren !--------------------------------------------------------------------------------------------------------- string tmpG1; tmpU = "tr"; tmpV = "/tr"; tmpF1 = tmpW; if (tmpJ == "ein") { tmpY = tmpF1.Find(tmpU); tmpZ = tmpF1.Find(tmpV); tmpF1 = tmpF1.Substr(tmpZ + 3, tmpF1.Length()); tmpA1 = 1; tmpS = 0; while ((tmpA1 >= 0) && (tmpB1 > 0)) { tmpS = tmpS + 1; tmpY = tmpF1.Find(tmpU); tmpZ = tmpF1.Find(tmpV); tmpG1 = tmpF1.Substr(tmpY + 3, tmpZ - tmpY); foreach (tmpN, tmpK) { if (tmpG1.Find(tmpN) < 0) { tmpA1 = -1; } } if (tmpA1 >= 0){ tmpF1 = tmpF1.Substr(tmpZ + 3, tmpF1.Length()); tmpB1 = tmpB1 - 1; } } if (tmpL == "ein") { WriteLine("Anzahl Loops Filter: " # tmpS); } } } if (tmpB1 > 0) { tmpU = "td"; tmpV = "/td"; tmpY = tmpF1.Find(tmpU); tmpZ = tmpF1.Find(tmpV); string tmpH1 = tmpF1.Substr(tmpY + 3, (tmpZ - tmpY) - 4); tmpF1 = tmpF1.Substr(tmpZ + 3, tmpF1.Length()); tmpY = tmpF1.Find(tmpU); tmpZ = tmpF1.Find(tmpV); string tmpI1 = tmpF1.Substr(tmpY + 3, (tmpZ - tmpY) - 4); tmpF1 = tmpF1.Substr(tmpZ + 3, tmpF1.Length()); tmpY = tmpF1.Find(tmpU); tmpZ = tmpF1.Find(tmpV); string tmpJ1 = tmpF1.Substr(tmpY + 3, (tmpZ - tmpY) - 4); tmpF1 = tmpF1.Substr(tmpZ + 3, tmpF1.Length()); tmpY = tmpF1.Find(tmpU); tmpZ = tmpF1.Find(tmpV); string tmpK1 = tmpF1.Substr(tmpY + 3, (tmpZ - tmpY) - 3); tmpF1 = tmpH1; tmpU = "vor "; tmpY = tmpF1.Find(tmpU); string tmpL1 = tmpF1.Substr(tmpY + 4, tmpF1.Length()); tmpF1 = tmpH1; tmpU = " "; tmpF1 = tmpF1.Substr(9, tmpF1.Length()); tmpY = tmpF1.Find(tmpU); string tmpM1 = tmpF1.Substr(0, tmpY); !--------------------------------------------------------------------------------------------------------- ! Besonderheiten Warnungsart/Schlagwort (z.B. Warnungen des Seewetterdienstes) !--------------------------------------------------------------------------------------------------------- tmpU = " - Warnung des Seewetterdienstes"; if (tmpH1.Find(tmpU) >= 0) { tmpF1 = tmpH1; tmpY = tmpF1.Find(tmpU); tmpM1 = tmpF1.Substr(0, tmpY); tmpL1 = tmpM1; } !--------------------------------------------------------------------------------------------------------- ! Ausgabe in Systemvariablen und Debug-Ausgabe !--------------------------------------------------------------------------------------------------------- if (tmpL == "aus") { if (tmpB1.ToString(0) != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpC).Value().ToString(0)) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpC).State(tmpB1.ToString(0)); } if (tmpH1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpD).Value()) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpD).State(tmpH1); } if (tmpI1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpE).Value()) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpE).State(tmpI1); } if (tmpJ1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpF).Value()) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpF).State(tmpJ1); } if (tmpK1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).Value()) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).State(tmpK1); } if (tmpL1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpH).Value()) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpH).State(tmpL1); } if (tmpM1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpI).Value()) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpI).State(tmpM1); } } if (tmpL == "ein") { WriteLine(tmpC # ": " # tmpB1); WriteLine(tmpD # ": " # tmpH1); WriteLine(tmpE # ": " # tmpI1); WriteLine(tmpF # ": " # tmpJ1); WriteLine(tmpG # ": " # tmpK1); WriteLine(tmpH # ": " # tmpL1); WriteLine(tmpI # ": " # tmpM1); } } if (tmpB1 <= 0) { !--------------------------------------------------------------------------------------------------------- ! Besondere Ausgaben (keine Warnung vorhanden oder getmpJt / DWD nicht erreichbar) !--------------------------------------------------------------------------------------------------------- if ((tmpX >= 1) && (tmpL == "aus")) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpC).State("0"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpD).State("keine Warnung"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpE).State("--:--"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpF).State("--:--"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).State("keine Warnung"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpH).State("keine Warnung"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpI).State("keine Warnung"); } if ((tmpX < 1) && (tmpL == "aus")) { dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpC).State("0"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpD).State("Fehler"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpE).State("Fehler"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpF).State("Fehler"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).State("DWD-Warntabelle nicht erreichbar."); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpH).State("Fehler"); dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpI).State("Fehler"); } if ((tmpX >= 1) && (tmpL == "ein")) { WriteLine("Es wurde keine Warnung ausgegeben."); } if ((tmpX < 1) && (tmpL == "ein")) { WriteLine("Die DWD-Warntabelle ist nicht erreichbar."); } } if (tmpL == "ein") { WriteLine("Das Skript wurde ohne Unterbrechung ausgeführt."); }
Hallo Gemeinde,
es ist doch sicherlich möglich, diese Unwetter Warnung (Langetext) per Telegramm senden zu lassen??
Ist es möglich, dass dazu mal jemand ein entsprechendes Script bereit stellt?
Also nur den Langetext dann...
Vielen Dank
-
- Beiträge: 972
- Registriert: 03.02.2014, 18:04
- Wohnort: Münsterland
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 8 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Ja, das kannst du relativ leicht machen.
Suche mal nach zPNP hier im Forum. Wenn du das implementiert hast, kannst du aus jedem Programm jegliche Nachrichten schicken. Aber diese sende-Funktion in nur dieses Skrip einzubauen, macht keinen Sinn. Daher beschäftige dich mal mit dem zPNP.
Suche mal nach zPNP hier im Forum. Wenn du das implementiert hast, kannst du aus jedem Programm jegliche Nachrichten schicken. Aber diese sende-Funktion in nur dieses Skrip einzubauen, macht keinen Sinn. Daher beschäftige dich mal mit dem zPNP.
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Danke für deine Antwort... Jedoch komme ich irgendwie gar nicht zurecht damit... Verstehe nicht, wie ich es einstellen soll, nur die Variable Wetterwarnung_Langtext auszulesen und mit zPNP zu versenden... Irgendwie zu hoch.fischmir hat geschrieben:Ja, das kannst du relativ leicht machen.
Suche mal nach zPNP hier im Forum. Wenn du das implementiert hast, kannst du aus jedem Programm jegliche Nachrichten schicken. Aber diese sende-Funktion in nur dieses Skrip einzubauen, macht keinen Sinn. Daher beschäftige dich mal mit dem zPNP.
Ich hab schon vieles realisiert bekommen, aber das ist hart...
Gesendet von meinem SM-G935F mit Tapatalk
-
- Beiträge: 972
- Registriert: 03.02.2014, 18:04
- Wohnort: Münsterland
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 8 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Den zPNP-Thread hast du aber schon gefunden? Dort ist doch eigentich alles ganz gut beschrieben.
viewtopic.php?f=31&t=26282#p229335
Sonstn dort mal melden, falls du Probleme hast.
viewtopic.php?f=31&t=26282#p229335
Sonstn dort mal melden, falls du Probleme hast.
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Abgesehen davon, das ich - wenn überhaupt - das original Script verwenden würde, hänge einfach mal die Zeilen ganz unten an dein Script an.
Wobei du natürlich string chatid und string botAPI noch anpassen musst.
Alchy
Wobei du natürlich string chatid und string botAPI noch anpassen musst.
Code: Alles auswählen
string chatid = "+++++++++++++++";
string botAPI = "++++++++++++++++++++++I";
string message = tmpK1;
if (message != ""){
if ( (dom.GetObject(ID_DATAPOINTS)).Get("CUxD.CUX2801001:1.CMD_EXEC")) { dom.GetObject(ID_DATAPOINTS).Get("CUxD.CUX2801001:1.CMD_EXEC").State("/usr/local/addons/cuxd/extra/curl -s -k https://api.telegram.org/bot"#botAPI#"/sendMessage -d text='"#message#"' -d chat_id="#chatid);}
}
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
- AndiN
- Beiträge: 2621
- Registriert: 10.06.2015, 08:54
- Wohnort: Hennef
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 28 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
meinst Du das im Bezug auf die tmp?Abgesehen davon, das ich - wenn überhaupt - das original Script verwenden würde
Dann Fußnote: Wenn man noch 40+ Skript-Var frei hat. Sonst sind das 40 zusätzliche Variablen. Was bin ich froh, wenn endlich dieser Bug weg ist. Dann werden Skripte wieder lesbar
Andi
Andi (Greenhorn)
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
-
- Beiträge: 10754
- Registriert: 24.02.2011, 01:34
- System: CCU
- Hat sich bedankt: 65 Mal
- Danksagung erhalten: 673 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Falsch ausgedrückt, mein Fehler.
Sofern er die Beta ReGaHss benutzt, wo das 200Variablen Problem nicht mehr existieren sollte.
und
Wenn er den Wunsch einer Erweiterung eines Scriptes hat, sollte er sich besser da hin wenden woher das Script stammt und nicht in den Kopie Thread.
Alchy
Sofern er die Beta ReGaHss benutzt, wo das 200Variablen Problem nicht mehr existieren sollte.
und
Wenn er den Wunsch einer Erweiterung eines Scriptes hat, sollte er sich besser da hin wenden woher das Script stammt und nicht in den Kopie Thread.
Alchy
Blacklist................... almost full
Ignoranz ist die Summe aller Maßnahmen die man ergreift, um bestehende Tatsachen nicht sehen zu müssen.
© Sandra Pulsfort (*1974)
Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.
Wichtig auch CUxD ersetzt System.exec. Die HM Script Doku (Downloadart Skripte) hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
-
- Beiträge: 10660
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 321 Mal
- Danksagung erhalten: 501 Mal
Re: Skript Probleme / Skriptübersicht (überarbeitete Skript
Hi,
die Einbindung des zPNP für Langtexte des Unwetter-Skripts sollte eigentlich recht einfach funktionieren, indem man die Codezeilen
ersetzt durch die folgenden Codezeilen:
Natürlich müssen die Systemvariablen "CCU SV Push Prio", "CCU SV Push Text" und „CCU SV Push Text Ref“ entsprechend der Anleitung im zPNP-Thread angelegt sein.
Gruß,
Thorsten
die Einbindung des zPNP für Langtexte des Unwetter-Skripts sollte eigentlich recht einfach funktionieren, indem man die Codezeilen
Code: Alles auswählen
if (tmpK1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).Value()) {
dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).State(tmpK1); }
Code: Alles auswählen
if (tmpK1 != dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).Value()) {
dom.GetObject(ID_SYSTEM_VARIABLES).Get(tmpG).State(tmpK1);
! +++++ Programm "CCU PRG Push-Nachrichten" ausführen +++++
dom.GetObject("CCU SV Push Prio").State("0");
dom.GetObject("CCU SV Push Text").State(tmpK1);
dom.GetObject("CCU PRG Push-Nachrichten").ProgramExecute(); }
Gruß,
Thorsten
CCU3 mit stets aktueller FW und den Addons "CUxD" und "Programmedrucken", ioBroker auf Synology DiskStation DS718+ im Docker-Container;
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
einige Projekte: zentrales Push-Nachrichten-Programm zPNP, DoorPi-Videotürsprechanlage, An- und Abwesenheitsdetektion per Haustürschloss, zentrales Programm zur Steuerung von Beschattungsgeräten zBSP.
- AndiN
- Beiträge: 2621
- Registriert: 10.06.2015, 08:54
- Wohnort: Hennef
- Hat sich bedankt: 10 Mal
- Danksagung erhalten: 28 Mal
Re: Link/Skript-Sammlung
Hallo,
da sich mit der neuen Firmware 2.29.18 das 200er Problem in Wohlgefallen aufgelöst hat, habe ich u.a. Text aus dem ersten Post gelöscht / Überschrift geändert und werde die Links zu diversen Themen stehen lassen (bzw. auf das Originalskript verlinken). Der Rest hat sich zum Glück erledigt
Alte Überschrift:
da sich mit der neuen Firmware 2.29.18 das 200er Problem in Wohlgefallen aufgelöst hat, habe ich u.a. Text aus dem ersten Post gelöscht / Überschrift geändert und werde die Links zu diversen Themen stehen lassen (bzw. auf das Originalskript verlinken). Der Rest hat sich zum Glück erledigt
Alte Überschrift:
Entfernter Text aus dem Kopfpost:Skript Probleme / Skriptübersicht (überarbeitete Skripts)
Hallo,
zum Thema Script Probleme gibt es bereits ein Thema (http://homematic-forum.de/forum/viewtop ... 26&t=19023) und dank Flaux gehören bei mir die Fehler der Vergangenheit an.
Das Problem wurde inzwischen von einigen Usern EQ3 gemeldet und lief dort unter dem Ticket (EQ3_SUPPORT-289). Die Dokumentation wurde daraufhin von EQ3 angepasst: "Achtung! Auf einer Homematic Zentrale können maximal 200 Variablen deklariert werden". Ob eine Lösung zu suchen angedacht ist, ist Stand heute nicht bekannt.[/strike]
Um zu sehen, wie viele Scriptvariablen man im Einsatz hat, hat BadenPower ein Skript geschrieben:Skript-Variabeln zählen
Damit das Rad nicht von Jedem erfunden werden muss veröffentlichen wir hier die überarbeitete Skripts verschiedener Helfer. (die Variablen sind alle mit tmpA-Z und tmpA1-Z1 betitelt). Somit werden nur noch maximal 52 verschiedene Variablen in allen Skripts benötigt.
Wer noch neue Skripts für die Allgemeinheit beisteuern möchte:
- Ursprungsskript in Windows-Editor kopieren
- Dort über "Suchen und Ersetzen" den alten Variablennamen eingeben und durch neuen "tmp" ersetzen.
(ACHTUNG: Groß und Kleinschreibung beachten anhaken)- Zwischendurch immer wieder "Skript testen" um das Skript auf Funktion testen.
ALTERNATIV: Es kann das von fischmir erarbeitete einfachere VBA Konzept zur Umstellung genutzt werden.- Nachdem ihr das überarbeitete Skript gepostet habt, nehme ich das in das u.a. Inhaltsverzeichnis auf
Andi (Greenhorn)
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links
Letzter Reboot: 17.03.24 => FW Update (Uptime:Rekord:153 Tage)
Systeminfos: Raspberry Pi3 Firmware: 3.75.6.20240316 142 Geräte
System angebunden: 3 Roomba 650 - Sprachausgabe via Home24 Media - Pocket Control - Zentrale: Asus TF103 mit Home24 Tablet
Addons: Drucken 2.5 - HQ WebUI 2.5.9 - XML-API 1.22 - CUx-Daemon 2.9.3 - E-Mail 1.7.4 - hm_pdetect 1.11 - VPN cloudmatic
Diverse Links