Hallo,
im HM-Skript gibt es ja bekanntlich den Befehl "quit", mit dem man ein Skript vorzeitig beenden kann.
Ich hatte mir jedoch schon häufiger eine Funktion gewünscht, mit der ich bei Erfüllung einer Bedingung vorzeitig aus einer Schleife springen kann. Wäre sowas möglich zu implementieren?
Gruß,
Thorsten
PS.: War mir nicht ganz sicher, wo ich diesen Feature Request am besten posten sollte. Vermutlich auch noch mal in GitHub für die RaspberryMatic.
Feature Request - Sprung aus Skript-Schleife
Moderator: Co-Administratoren
-
- Beiträge: 10679
- Registriert: 21.09.2012, 08:09
- System: CCU
- Wohnort: Stuttgart
- Hat sich bedankt: 329 Mal
- Danksagung erhalten: 504 Mal
Feature Request - Sprung aus Skript-Schleife
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.
- jmaus
- Beiträge: 9902
- Registriert: 17.02.2015, 14:45
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Dresden
- Hat sich bedankt: 466 Mal
- Danksagung erhalten: 1892 Mal
- Kontaktdaten:
Re: Feature Request - Sprung aus Skript-Schleife
Na? Hat da jemand nicht die ChangeLogs von RaspberryMatic studiert Denn das von dir gewünschte gibt es bereits seit einiger Zeit in RaspberryMatic bzw. ReGaHss, siehe:dtp hat geschrieben: ↑09.05.2019, 16:22im HM-Skript gibt es ja bekanntlich den Befehl "quit", mit dem man ein Skript vorzeitig beenden kann.
Ich hatte mir jedoch schon häufiger eine Funktion gewünscht, mit der ich bei Erfüllung einer Bedingung vorzeitig aus einer Schleife springen kann. Wäre sowas möglich zu implementieren?
https://github.com/jens-maus/RaspberryM ... 1.20181222
https://github.com/jens-maus/RaspberryMatic/issues/224
Siehe:
Und in der Tat gibt es die ReGa Version in der das Implementiert wurde (R1.00.0388.0204) auch seit geraumer Zeit in der CCU3 Firmware.implemented missing break and continue statements to break out of while() and foreach() loops and to also continue with the next iteration like this is commonly performed in other script languages (#224).
Ab dieser ReGaHss Version kannst du jetzt in while() und foreach() schleifen "break" als statement für das abbrechen der iteration nutzen wie ds in C/C++ der Fall ist. Und auch gibt es seit dem ein "continue" statement um sofort zur nächsten Iteration zu gehen.
So ist es. Denn der Issuetracker im GitHub von RaspberryMatic wird momentan auch für ReGaHss und WebUI Feature/Issue Meldungen verwendet.PS.: War mir nicht ganz sicher, wo ich diesen Feature Request am besten posten sollte. Vermutlich auch noch mal in GitHub für die RaspberryMatic.
RaspberryMatic 3.75.7.20240420 @ ProxmoxVE – ~200 Hm-RF/HmIP-RF/HmIPW Geräte + ioBroker + HomeAssistant – GitHub / Sponsors / PayPal /
- koppenho
- Beiträge: 227
- Registriert: 27.12.2013, 09:12
- Wohnort: Bad Neustadt, Deutschland
- Hat sich bedankt: 2 Mal
- Danksagung erhalten: 2 Mal
Feature Request - ReGa-Script Dokumentation
Den Smiley habe ich nicht übersehen, dennoch möchte ich hier einem Kommentar loswerden. Oder genauer: einen Wunsch äußern.jmaus hat geschrieben: ↑09.05.2019, 19:54Na? Hat da jemand nicht die ChangeLogs von RaspberryMatic studiert Denn das von dir gewünschte gibt es bereits seit einiger Zeit in RaspberryMatic bzw. ReGaHss,
[...]
Und in der Tat gibt es die ReGa Version in der das Implementiert wurde (R1.00.0388.0204) auch seit geraumer Zeit in der CCU3 Firmware.
Jens, Du machst eine vorbildliche Arbeit und dokumentierst auch ausführlich jede Änderung. Ein dickes Lob dafür.
Trotzdem finde ich finde es sehr schwierig den vielen Neuerungen und Änderungen zu folgen. Mal ist hier ein neuer ReGa-Befehl dokumentiert und dort steht etwas über ein geändertes Verhalten. Da übersieht man schnell mal etwas.
Was ich vermisse ist eine Übersicht, in der z.B. alle Methoden, Funktionen, Konstanten, etc. der ReGa aufgelistet sind, am Besten mit einem Anwendungsbeispiel und Hinweisen, ab welcher Version das Feature implementiert wurde oder in welcher Version ein Kommando defekt war.
Einen Ansatz dazu gab es vor längerer Zeit mal als "Inoffizielle HomeMatic Script Referenz" in Form eines Wiki von Daniel Herberg. Seine Seite scheint eingeschlafen und in Vergessenheit geraten offensichtlich aus Mangel an Beiträgen anderer. Das Thema ist für eine Person auch zu viel.
Egal, etwas in dieser Art wünsche ich mir. Das wäre auch eine tolle Referenz für ReGa-Scripting-Anfänger (von den veralteten eQ-3-PDFs mal abgesehen).
Was meint Ihr dazu? Bin ich der Einzige, der ein Problem mit der Informationsbeschaffung hat?
Wenn nicht, wie könnten wir das lösen? Vorschläge?
--
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------
Andreas
--------------------------------------------
Hauptwohnung: RaspberryMatic mit 320 Kanäle in 110 Geräten und 140 CUxD-Kanäle in 33 CUxD-Geräten
Zweitwohnung: CCU2 mit 18 Kanäle in 8 Geräten und 14 CUxD-Kanäle in 4 CUxD-Geräten
--------------------------------------------
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Feature Request - ReGa-Script Dokumentation
Das hast Du doch schon selbst beantwortet:
Einfach das Wiki pflegen Das Problem das ich dabei sehe: Die allermeisten Leute wollen halt "konsumieren", kaum einer hat Lust auch etwas Zeit zu investieren. Bei der Frage ob das Wiki "eingeschlafen" oder "in Vergessenheit geraten" ist entsteht dann halt ein Henne-Ei-Problemkoppenho hat geschrieben: ↑11.05.2019, 13:55Einen Ansatz dazu gab es vor längerer Zeit mal als "Inoffizielle HomeMatic Script Referenz" in Form eines Wiki von Daniel Herberg. Seine Seite scheint eingeschlafen und in Vergessenheit geraten offensichtlich aus Mangel an Beiträgen anderer. Das Thema ist für eine Person auch zu viel.
Diese Referenz war übrigens auch nicht die Arbeit eines Einzelnen, wenn ich mich recht entsinne haben wir da von 2011 bis ~2014 zu fünft dran gearbeitet. Leider sind bei einer Migration des Wikis viele der Methodendokus überschrieben worden, die müsste man alle wieder fixen.
Meiner Meinung nach ist es aber auch egal wie wenig man ändert - und wenn man nur eine Methode alle paar Monate mal dokumentiert, oder einfach nur eine leere Seite für bisher nicht erwähnte Methoden ergänzt, oder auch nur die ein oder andere kleine Fehlerkorrektur vornimmt - es ist alles besser als Nichts.
Stand Heute ist das nun mal die "vollständigste" Homematic Script Referenz die zur Verfügung steht (von nicht für Jedermann zugänglichen und nur für Windows verfügbaren Tools mal abgesehen) - daher denke ich: wenn dann sollte man daran weiterarbeiten und keine neue Baustelle aufmachen. (Just my 2 Cent, ich selbst hab kein Interesse an Regascript)