- ioBroker Community Home
- Deutsch
- Skripten / Logik
- Blockly
- [Vorlage] Gartenbewässerung mit 6 Ventilen
NEWS
[Vorlage] Gartenbewässerung mit 6 Ventilen
-
@Kuddel
ja, aber ich habe eben Samstag auf wahr und es geht nicht. Dann habe ich so nach und nach einen Wochentag dazu geschaltet, aber es ging erst wenn alle auf wahr stehen. -
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Wochentage berücksichtig
beim Samstag ist Freitag drinn

EDIT: im Blockly geändert auf Samstag und es funktioniert.
-
@sigi234 haben endlich den Fehler bzgl. Ventil 6 gefunden.
Version 2.7.2 ist auf Seite 1 zu finden
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
haben endlich den Fehler bzgl. Ventil 6 gefunden.
Ja läuft jetzt von 1-6 :+1:

Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
Immer Daten sichern! -
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Wochentage berücksichtig
beim Samstag ist Freitag drinn

EDIT: im Blockly geändert auf Samstag und es funktioniert.
-
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
haben endlich den Fehler bzgl. Ventil 6 gefunden.
Ja läuft jetzt von 1-6 :+1:

-
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Wochentage berücksichtig
beim Samstag ist Freitag drinn

EDIT: im Blockly geändert auf Samstag und es funktioniert.
@dslraser sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
beim Samstag ist Freitag drinn
Wo genau, finde ich nicht.
Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
Immer Daten sichern! -
@dslraser sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
beim Samstag ist Freitag drinn
Wo genau, finde ich nicht.
-
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
@sigi234 na endlich. man man man was für ein dummer Fehler :-D
Ja, aber bei 8000 Bausteine ist es nicht so einfach. :grinning:
Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
Immer Daten sichern! -
Hallo zusammen,
da ich beim Bearbeiten des eigentlichen Threads die Seite 1 gechrottet habe, geht es ab sofort hier weiter.
Funktionen:
- Automatische Bewässerung mit bis zu 6 Ventilen
- Entwickelt für HomeMatic (Adapter: hm-rpc), Sonoff (Adapter: sonoff) und Shelly (Adapter: shelly)
- Im Skript wird eine Anschaltzeit pro Aktorkanal gesetzt, damit die Aktoren automatisch ausschalten
- Die Ventile starten nacheinander
- Einzelne Ventile können deaktiviert werden
- Anzeige Gesamtlaufzeit, Restlaufzeit
- Anzeige Restlaufzeit gesamt / Restlaufzeit pro Ventil
- Anzeige Fortschritt gesamt in Prozent
- Anzeige Fortschritt pro Ventil in Prozent
- Benachrichtigung per Mail und/oder Pushover und/oder Telegram
- Benachrichtigung per Alexa Sprachausgabe
- Automatischer Start: Morgens, Abends (in Abhängigkeit vom Sonnenauf- und Untergang) oder 3 feste Startzeiten
- Intervall-Modus möglich (Anzahl Intervalle, Länge der Pausen dazwischen)
- Automatische Erstellung von Statistiken (Laufzeit / Wassermenge pro Woche, Monat, Jahr)
- Unterbrechung / Pausen-Funkton integriertHinweis zur Verwendung mit Tasmota
Mit Version 9.4.0 haben sich die Namen einiger Datenobjekte geändert. Daher funktioniert dieses Skript nur mit Tasmota Aktoren mit der Firmware 9.4.0 und neuerUnter diesem Link findet ihr meine Komplette VIS inkl. der Bewässerungssteuerung: komplette VIS
oder nur die Bewässerungssteuerung Bewaesserungs VIS
Mail-Info beim Start
Bewaesserungsdauer: 40:02 Min
Start: 04:35:02 Uhr
Ende: 05:15:04 UhrVentil 1 (Hecke): Dauer: 40:00 Min / Ende: 05:05:00 Uhr
Ventil 2 (Rasen): Dauer: 10:00 Min / Ende: 04:45:00 Uhr
Ventil 3 (Rasen-Ecke): Dauer: 10:00 Min / Ende: 04:55:02 Uhr
Ventil 4 (Beet): Dauer: 10:00 Min / Ende: 05:05:03 Uhr
Ventil 4 (kl. Rasen): Dauer: 10:00 Min / Ende: 05:15:04 UhrSkript-Version: 4.3.5
Aktuelle Skript Version zum herunterladen (Blockly Export)
bewaesserung_v442.zipAnleitung für die Inbetriebnahme des Skriptes:
Blockly Skript anpassen:Die Variablen für euch entsprechend anpassen


Sofern Tasmota mit Zugangsadaten im Einsatz ist:



Skript starten
Folgendes DPs müssen mindestens angepasst werden
0_userdata.0.bewaesserung.ventile.ventil_1.ventil_1auf true: Damit wird Ventil 1 für die Bewäserung berücksichtig
0_userdata.0.bewaesserung.ventile.ventil_1.ventil_1_dauerin Seek
oder0_userdata.0.bewaesserung.ventile.ventil_1.ventil_1_dauer_in_minin Minuten
Jetzt kann das Skript schon eimal manuell gestartet werden:
0_userdata.0.bewaesserung.bewaesserung_aktivauf true
Anleitung für den Log Parser
Jeder Log Eintrag vom Bewässerungsskript beginnt mit "Bewaesserung". Daher ist dieser Begriff entscheidend für den Log ParserName: Bewaesserung
Whitelist UND: Bewaesserung:
Whitelist ODER:
Blacklist:
Bereinigen: Bewaesserung:
Datumsformat: #DD.MM.# hh:mm
Offene Punkte / To do
- autom. Integration in IoT @dslraser
- Integration von KNX Aktoren @ice77 @leachim200
- Erweiterung Statistik: Laufzeit pro Ventil, Wasserverbrauch pro Ventil
CHANGELOG
4.4.2 (2023-04-06) bewaesserung_v442.zip
Bugfix Statistik bzgl. "is calling setState more than 1000 times per minute! Stopping Script now! Please check your script!"4.4.1 (2022-08-16) bewaesserung_v441.zip
Bugfixes4.4.0 (2022-08-11) bewaesserung_v440.zip
Aktoren-Namen der Ventile in DP schreiben für direkte Aktivierung per VIS4.3.5 (2022-08-04) bewaesserung_V435.zip
Bugfix Name Ventil 6
Bugfix Berechnung Anzahl der Ventile4.3.4 (2022-07-19) bewaessserung_v434.zip
Bugfix Start Ventil 14.3.3 (2022-06-20) bewaesserung_v433.zip
Bugfix beim Stop (Reset Intervall-Counter)
Bugfix Alexa-Ansage (Stop / Schwellwerte Fehler)4.3.2 (2022-06-13) bewaesserung_v432.zip
Berechnung Gesamt-Enduhrzeit bei Intervall-Schaltung
Anpassung Mail / Log Betreff bei Intervall-Schaltung
Bugfix Alexa Ansagen4.3.1 (2022-06-08) bewaesserung_v431.zip
Bugfixes (Stop Intervall-Schaltung, DPs für OnTime Pumpe und Netzteil, DPs für Einschaltung Netzteil, Reset Intervall Counter, Telegram Benachrichtigung)
Ventile / Kreis können nachträglich umbenannt werden4.3.0 (2022-05-04) bewaesserung_v4.3.0.zip
Redesign Intervall-Schaltung
Bugfixes4.2.0 (2022-04-23) bewaesserung_v4.2.0.zip
Skript Version in Start-Mail hinterlegt
Shelly Plus (andere DPs) Unterstützung integriert4.1.0 (2022-04-20) bewaesserung_v4.1.0.zip
Buxfix Intervall-Steuerung
Check, ob Aktor korrekt aktiviert wurde4.0.2 (2022-04-11) bewaesserung_v4.0.2.zip
Buxfixes bzgl. Alexa-Sprachausgabe und LogParser4.0.1 (2022-03-25) bewaesserung_v4.0.1.zip
Bugfix bzgl. der Enduhrzeit der einzelnen Ventile4.0.0 (2021-09-06)
Redesign Erstellung aller DPs (keine Überschreiben mehr, nur noch bei Ausgewählten DPs)
Mail-Versand auf Javascript umgestellt
Instanz für Telegramm und Mail ergänzt3.2.2 (2021-09-03)
Pushover Instanz Angabe ergänzt3.2.1 (2021-08-31)
Status DP für VIS hinzugefügt3.2.0 (2021-08-09)
Buxfixes für JS-Controller 3.3.15 und Javascript 5.2.8
"... has been written without ack-flag ..."3.1.1 (2021-08-04)
Bugfix Gesamtdauer bei Bewässerungsstart3.1.0 (2021-07-06)
Tasmota Anmeldedaten können verwendet werden
Tasmota PulseTime erhöht auf 8
Unterscheidung ziwschen HM und HM-Wired ergänzt (Vermeidung Fehler mit der OnTime)3.0.0 (2021-07-05)
Anpassung der DPs für Tasmota ab FW Version 9.4.02.10.7 (2021-06-28)
Buxfix Anzahl Ventile
Skript-Version wird in DP für VIS geschrieben2.10.6 (2021-06-24)
Buxfix Laufzeit-Brechnung
Buxfix Tipfehler in DPs2.10.5 (2021-06-16)
Pausenschaltung für Pumpen-Aktor ergänzt2.10.4 (2021-06-10
Bugfix (aktuellen Wochentag beim DP erstellen setzen)
Beschreibung für Wassermengen-Statistik ergänzt (Liter pro Stunde)2.10.3 (2021-05-25)
Buxfix bei der Berechnung der Bewässerungsdauer2.10.2 (2021-03-20)
Bugfix beim setzen der Timer (Cron)
Verbauch runden auf 3 Nachkommastellen2.10.1 (2020-09-23)
Berechnung der Endzeit für die VIS bei Festen Startzeiten ergänzt2.10.0 (2020-09-16)
Erweiterung Statistik um verbrauchte Wassermenge2.9.2 (2020-08-13)
Erweiterung Statistik um Woche2.9.1 (2020-08-12)
Steuerung eines Netzeil für Ventile analog zur Pumpensteeuerung hinzugefügt2.9.0 (2020-08-11)
Statistiken hinzugefügt2.8.0 (2020-08-06)
Intervall Bewässerung hinzugefügt
Zeitplan DP Struktur aufgeräumt2.7.5 (2020-08-05)
Vereinheitlichung Log-Einträge (Jeder Eintrag beginnt mit "Bewaesserung: ")2.7.4 (2020-08-04)
Diverse Bugfixes
Erstellung von Logeinträgen komplett überarbeitet2.7.3 (2020-08-03)
Buxfixes für Benachrichtigungen
Verwenung der Wingeschwindigkeit bem Wetter-Check
Neuer Status-DP, ob Bewässerung gestartet wird2.7.2 (2020-07-31)
Bugfix Ventil 62.7.1 (2020-07-31)
Aktivierung / Deaktiverung der Verwendung von Wetterdaten hinzugefügt2.7.0 (2020-07-31)
Alexa Befehle von aktualisiere auf steuere geändert
Wochentage für Cron auswählbar2.6.8 (2020-07-24)
Nicht mehr benötigte DPs werden gelöscht
Bugfixes2.6.8 (2020-07-23)
Erstellung der DPs überarbeitet
Alle nciht VIS-relevanten VIS können nur noch durch das Skript geändert werden
Anpassung jetzt nur noch im Blocky und nicht mehr im Javascript notwendig
Telegram Nachrichten hinzugefügt2.6.7 (2020-07-18)
Bugfixes bzgl. Logging, Pushover und Alexa
Unterscheidung bei Benachrichtigung zwischen Start, Stop, Pause und Fortsetzen
Neuer DP für die VIS: letzte Laufzeit2.6.6 (2020-07-14)
Automatik ausschalten, wenn keine Zeiten aktiviert sind
Schwellwerte-Check per VIS aktivieren / deaktivieren2.6.5 (2020-07-13)
Bugfix Ventil 6
Schwellwerte Regen / Temp gestern hinzugefügt2.6.4 (2020-07-10)
Pushover ID kann hinterlegt werden
Mail-Adresse-Variable hinzugefügt
Dauer pro Ventil kann über die VIS in Min. gesetzt werden
Fortschritt pro Ventil und Gesamt Rest hinzugefügt2.6.3 (2020-06-28)
Parallel-Modus für Ventil 1 wieder hinzugefügt
Enduhrzeiten für morgens und Abends werden errechnet2.6.2 (2020-06-20)
Bugfix Berechnung der Startzeit morgens
Anschaltdauer für Pumpe hinzugefügt
Benachrichtigung (Mail / Log) wenn Bewässerung startet, aber Schwellwerte nicht passen
Vorhandene DPs werde nicht mehr überschrieben2.6.1 (2020-06-13)
Bugfix für HM ON_TIME2.6.0 (2020-06-12)
Erweitert auf 6 Ventile
Shelly Aktoren werden supportet2.5.1 (2020-06-04)
Bugfixes im Bereich Logeinträge2.5.0 (2020-05-26)
Ventil 5 hinzugefügt2.4.0 (2020-05-20)
Bugfixes im Log-Bereich
Was ist eigentlich der DP :
wochentag_statusBitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
Immer Daten sichern! -
@sigi234 das ist ein neuer DP für die VIS.
Habe den DP direkt neben den Wochentagen dargestellt.
Wenn der heutige Tag aktiviert ist, ist das Icon grün, wenn nicht, rot
Hallo, kann man eigentlich den Text der als Mail kommt in einen eigenen DP schreiben?
Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
Immer Daten sichern! -
@sigi234 das ist ein neuer DP für die VIS.
Habe den DP direkt neben den Wochentagen dargestellt.
Wenn der heutige Tag aktiviert ist, ist das Icon grün, wenn nicht, rot
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Wenn der heutige Tag aktiviert ist, ist das Icon grün, wenn nicht, rot
Wie wäre es noch mit einem DP der den gesamten Status abbildet? Also wenn Wetter Checks i.O., Wochentag passend und Automatik aktiv (und Ventile ausgewählt) und Automatik Art (Auf,Unter,Fix1,...) ausgewählt, dann DP true
Und bei den Schwellwerten könnte man noch den Wind berücksichtigen (evtl. reicht hier ein DP für eine lokale Wetterstation oder alternativ einen DP vom Wetter Adapter).
Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung
-
Hallo, kann man eigentlich den Text der als Mail kommt in einen eigenen DP schreiben?
-
@Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:
Wenn der heutige Tag aktiviert ist, ist das Icon grün, wenn nicht, rot
Wie wäre es noch mit einem DP der den gesamten Status abbildet? Also wenn Wetter Checks i.O., Wochentag passend und Automatik aktiv (und Ventile ausgewählt) und Automatik Art (Auf,Unter,Fix1,...) ausgewählt, dann DP true
Und bei den Schwellwerten könnte man noch den Wind berücksichtigen (evtl. reicht hier ein DP für eine lokale Wetterstation oder alternativ einen DP vom Wetter Adapter).
-
@darkiop dass man einen gesamtstatus hat und daran in der VIS sieht, ob die Bewässerung startet kann ich denke ich einbauen.
wie soll das mit dem Wind laufen ? auch wie beim regen und bei der Temp mit schwellwerten ?
@Kuddel Ja, denke der Gesamt-Status ist hauptsächlich für die VIS interessant.
Beim Wind: Bewässerung bis max km/h Wind + max km/h Böen --> also evtl. sogar 2 DPs / Schwellwerte?
Hintergrund: Bewässern bei zu starken Wind macht keinen Sinn, da fliegts Wasser ja überall hin nur nicht auf den Rasen :D
Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung
-
@Kuddel Ja, denke der Gesamt-Status ist hauptsächlich für die VIS interessant.
Beim Wind: Bewässerung bis max km/h Wind + max km/h Böen --> also evtl. sogar 2 DPs / Schwellwerte?
Hintergrund: Bewässern bei zu starken Wind macht keinen Sinn, da fliegts Wasser ja überall hin nur nicht auf den Rasen :D
@Kuddel: Ber der Temperatur könnte man auch noch einen Zweiten wert ins Spiel bringen. Aktuell hast du da "Bewässern erst ab X °C" - Eine Obergrenze wäre auch praktisch "Nicht mehr Bewässern ab X °C".
Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung
-
@Kuddel: Ber der Temperatur könnte man auch noch einen Zweiten wert ins Spiel bringen. Aktuell hast du da "Bewässern erst ab X °C" - Eine Obergrenze wäre auch praktisch "Nicht mehr Bewässern ab X °C".
-
@darkiop welchen Sinn soll das haben? Dass bei 30 Grad nicht mehr bewässert wird, weil der Boden das nicht aufnehmen kann ?
@Kuddel Genau. Ich muss mal schauen, irgendwo hatte ich mal einen längeren Text zur Bewässerung - das ist ja eine Wissenschaft :D
Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung
-
@Kuddel
Kann es sein das die DPs in der V2.7.2 für das manuelle einstellen der Fixzeiten 1-3 fehlen?

Im VIS kann keine Zeit mehr eingestellt bzw. verändert werden.Ich hab mir die Stunden/Minuten DPs wieder eingebaut - brauche ich, da ich diese über die Material Design Slider steuere:
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="=.g5H8ri-~ML`t;5}exk">basic_vars_pfad</variable> <variable id="qsVoA3UN~%|ui,U0F.5E">basic_vars_speicherort</variable> <variable id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</variable> <variable id="(:+x@yRB,JYgdk1ytY.V">vars_feste_startzeit_1_uhrzeit_start_stunde</variable> <variable id="U:v`C?g(8i{G`P6(F.MU">vars_feste_startzeit_1_uhrzeit_start_minute</variable> <variable id="/x+Gfvc(}NcoyU)iUspb">vars_feste_startzeit_2_uhrzeit_start_stunde</variable> <variable id="=J#)%6l{P1m+.IEJ_x.9">vars_feste_startzeit_2_uhrzeit_start_minute</variable> <variable id="C@k-71KK~KL;_P,~`uKx">vars_feste_startzeit_3_uhrzeit_start_stunde</variable> <variable id="dNhr+Q{h)|S,QS#zxT69">vars_feste_startzeit_3_uhrzeit_start_minute</variable> <variable id="e6(94)(R*l5LQ$^3oiTB">vars_feste_startzeit_1_uhrzeit_start</variable> <variable id="CxmTK]7-^@*{l:W*bO`r">startzeit_fix_1_stunde</variable> <variable id="[jgk[T%H2qgXYs/h1Z?W">startzeit_fix_1_minunte</variable> <variable id="k6ii6Q,Fwbaw|qNa!0CF">vars_feste_startzeit_2_uhrzeit_start</variable> <variable id="9F/8I}+,UJ;cf*uk:;a[">startzeit_fix_2_stunde</variable> <variable id="22zeet5@cr#-KVvtS!]/">startzeit_fix_2_minunte</variable> <variable id="YDvkyM/^iFIYLf4@c7H-">vars_feste_startzeit_3_uhrzeit_start</variable> <variable id="Hj0rf]u)ro)Bd3V(-~vm">startzeit_fix_3_stunde</variable> <variable id="FRK{-:q-e+@8#^RGfEO#">startzeit_fix_3_minute</variable> </variables> <block type="variables_set" id="U}oS^IaL{M(?9qT#XJCD" x="1038" y="-1862"> <field name="VAR" id="=.g5H8ri-~ML`t;5}exk">basic_vars_pfad</field> <value name="VALUE"> <block type="text" id="M`ivv2DhHW2f{ND4w7Vf"> <field name="TEXT">bewaesserung</field> </block> </value> <next> <block type="variables_set" id="LBL==y=`(eEJ*55{l9x0"> <field name="VAR" id="qsVoA3UN~%|ui,U0F.5E">basic_vars_speicherort</field> <value name="VALUE"> <block type="text" id="?`kUFluLL,gT_#XXI!Oi"> <field name="TEXT">javascript.0</field> </block> </value> </block> </next> </block> <block type="procedures_defcustomnoreturn" id="upVjG[;Pws6,$aHeINan" x="1038" y="-1762"> <mutation statements="false"></mutation> <field name="NAME">createStates</field> <field name="SCRIPT">LyoqDQogKiBDcmVhdGUgc3RhdGVzIHVuZGVyIDBfdXNlcmRhdGEuMCBvciBqYXZhc2NyaXB0LngNCiAqIEN1cnJlbnQgVmVyc2lvbjogICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzDQogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8NCiAqIEF1dG9yOiAgICAgICAgICAgICAgIE1pYyAoaW9Ccm9rZXIpIHwgTWljLU0gKGdpdGh1YikNCiAqIFZlcnNpb246ICAgICAgICAgICAgIDEuMSAoMjYgSmFudWFyeSAyMDIwKQ0KICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICogUExFQVNFIE5PVEU6IFBlciBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc0LCB0aGUgdXNlZCBmdW5jdGlvbiBzZXRPYmplY3QoKSANCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICogQHBhcmFtIHtzdHJpbmd9IHdoZXJlICAgICAgICAgIFdoZXJlIHRvIGNyZWF0ZSB0aGUgc3RhdGU6ICcwX3VzZXJkYXRhLjAnIG9yICdqYXZhc2NyaXB0LngnLg0KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4NCiAqIEBwYXJhbSB7YXJyYXl9IHN0YXRlc1RvQ3JlYXRlICBTdGF0ZShzKSB0byBjcmVhdGUuIHNpbmdsZSBhcnJheSBvciBhcnJheSBvZiBhcnJheXMNCiAqIEBwYXJhbSB7b2JqZWN0fSBbY2FsbGJhY2tdICAgICBPcHRpb25hbDogYSBjYWxsYmFjayBmdW5jdGlvbiAtLSBUaGlzIHByb3ZpZGVkIGZ1bmN0aW9uIHdpbGwgYmUgZXhlY3V0ZWQgYWZ0ZXIgYWxsIHN0YXRlcyBhcmUgY3JlYXRlZC4NCiAqLw0KDQpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7DQogICAgDQogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBPbmx5IGZvciAwX3VzZXJkYXRhLjA6IFRocm93cyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgZm9yY2U9ZmFsc2UuIERlZmF1bHQgaXMgZmFsc2UsIHNvIG5vIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBleGlzdHMuDQogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlDQogICAgLy8gUGVyIGlzc3VlICM0NzQgKGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzQpLCB0aGUgdXNlZCBmdW5jdGlvbiBzZXRPYmplY3QoKSBleGVjdXRlcyB0aGUgY2FsbGJhY2sgDQogICAgLy8gYmVmb3JlIHRoZSBzdGF0ZSBpcyBhY3R1YWwgY3JlYXRlZC4gVGhlcmVmb3JlLCB3ZSB1c2UgYSBzZXRUaW1lb3V0IGFuZCBjb3VudGVyIGFzIGEgd29ya2Fyb3VuZC4NCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLg0KDQogICAgLy8gVmFsaWRhdGUgIndoZXJlIg0KICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdA0KICAgIGlmICggKHdoZXJlLm1hdGNoKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSkpJHwwX3VzZXJkYXRhXC4wJCkvKSA9PSBudWxsKSApIHsNCiAgICAgICAgbG9nKCdUaGlzIHNjcmlwdCBkb2VzIG5vdCBzdXBwb3J0IHRvIGNyZWF0ZSBzdGF0ZXMgdW5kZXIgWycgKyB3aGVyZSArICddJywgJ2Vycm9yJyk7DQogICAgICAgIHJldHVybjsNCiAgICB9DQoNCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUNCiAgICBpZighQXJyYXkuaXNBcnJheShzdGF0ZXNUb0NyZWF0ZVswXSkpIHN0YXRlc1RvQ3JlYXRlID0gW3N0YXRlc1RvQ3JlYXRlXTsgLy8gd3JhcCBpbnRvIGFycmF5LCBpZiBqdXN0IG9uZSBhcnJheSBhbmQgbm90IGluc2lkZSBhbiBhcnJheQ0KDQogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQ0KICAgIGZvciAobGV0IGkgPSAwOyBpIDwgc3RhdGVzVG9DcmVhdGUubGVuZ3RoOyBpKyspIHsNCiAgICAgICAgbGV0IGxwUGF0aCA9IHN0YXRlc1RvQ3JlYXRlW2ldWzBdLnJlcGxhY2UoL1wuKlwuL2csICcuJyk7IC8vIHJlcGxhY2UgYWxsIG11bHRpcGxlIGRvdHMgbGlrZSAnLi4nLCAnLi4uJyB3aXRoIGEgc2luZ2xlICcuJw0KICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nDQogICAgICAgIGxwUGF0aCA9IHdoZXJlICsgJy4nICsgbHBQYXRoOyAvLyBhZGQgd2hlcmUgdG8gYmVnaW5uaW5nIG9mIHN0cmluZw0KICAgICAgICBzdGF0ZXNUb0NyZWF0ZVtpXVswXSA9IGxwUGF0aDsNCiAgICB9DQoNCiAgICBpZiAod2hlcmUgIT0gJzBfdXNlcmRhdGEuMCcpIHsNCiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngNCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsNCiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsNCiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7DQogICAgICAgICAgICBsZXQgbG9vcEluaXQgPSAobG9vcFBhcmFtWzFdWydkZWYnXSA9PSB1bmRlZmluZWQpID8gbnVsbCA6IGxvb3BQYXJhbVsxXVsnZGVmJ107IC8vIG1pbWljIHNhbWUgYmVoYXZpb3IgYXMgY3JlYXRlU3RhdGUgaWYgbm8gaW5pdCB2YWx1ZSBpcyBwcm92aWRlZA0KICAgICAgICAgICAgY3JlYXRlU3RhdGUobG9vcFBhcmFtWzBdLCBsb29wSW5pdCwgZm9yY2UsIGxvb3BQYXJhbVsxXSwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07DQogICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7DQogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7DQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsNCiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIDBfdXNlcmRhdGEuMA0KICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOw0KICAgICAgICBsZXQgY291bnRlciA9IC0xOw0KICAgICAgICBzdGF0ZXNUb0NyZWF0ZS5mb3JFYWNoKGZ1bmN0aW9uKGxvb3BQYXJhbSkgew0KICAgICAgICAgICAgY291bnRlciArPSAxOw0KICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsNCiAgICAgICAgICAgIGlmKCAoJChsb29wUGFyYW1bMF0pLmxlbmd0aCA+IDApICYmIChleGlzdHNTdGF0ZShsb29wUGFyYW1bMF0pKSApIHsgLy8gV29ya2Fyb3VuZCBkdWUgdG8gaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3OA0KICAgICAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLg0KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsNCiAgICAgICAgICAgICAgICBpZiAoIVdBUk4gJiYgTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gU3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXSBpcyBhbHJlYWR5IGV4aXN0aW5nLiBPcHRpb24gZm9yY2UgKD1vdmVyd3JpdGUpIGlzIHNldCB0byBbJyArIGZvcmNlICsgJ10uJyk7DQogICAgICAgICAgICAgICAgaWYoIWZvcmNlKSB7DQogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlDQogICAgICAgICAgICAgICAgICAgIC8vIFNvLCB3ZSBkbyBub3QgcHJvY2VlZC4NCiAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07DQogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQhJyk7DQogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBnbyBvdXQgYW5kIGNvbnRpbnVlIHdpdGggbmV4dCBlbGVtZW50IGluIGxvb3AuDQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9IC8vIGlmKCFmb3JjZSkNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy8gU3RhdGUgaXMgbm90IGV4aXN0aW5nIG9yIGZvcmNlID0gdHJ1ZSwgc28gd2UgYXJlIGNvbnRpbnVpbmcgdG8gY3JlYXRlIHRoZSBzdGF0ZSB0aHJvdWdoIHNldE9iamVjdCgpLg0KICAgICAgICAgICAgbGV0IG9iaiA9IHt9Ow0KICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOw0KICAgICAgICAgICAgb2JqLm5hdGl2ZSA9IHt9Ow0KICAgICAgICAgICAgb2JqLmNvbW1vbiA9IGxvb3BQYXJhbVsxXTsNCiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgew0KICAgICAgICAgICAgICAgIGlmIChlcnIpIHsNCiAgICAgICAgICAgICAgICAgICAgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0IGZvciBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddOiAnICsgZXJyKTsNCiAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gTm93IHdlIGFyZSBjcmVhdGluZyBuZXcgc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXScpDQogICAgICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsNCiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ251bWJlcicpIGluaXQgPSAwOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gbG9vcFBhcmFtWzFdLmRlZjsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdGUobG9vcFBhcmFtWzBdLCBpbml0LCB0cnVlLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICB9LCBERUxBWSArICgyMCAqIGNvdW50ZXIpICk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0pOw0KICAgIH0NCn0NCg0KbG9nKCctLS0gRGF0ZW5vYmpla3RlIGZ1ZXIgZGllIEJld2Flc3NlcnVuZyB3ZXJkZW4gYW5nZWxlZ3QgLS0tJykNCg0KbGV0IHZhcnMgPSBbDQoNCiAgICAvL0Zlc3RlIFN0YXJ0emVpdCAxDQogICAgW2Jhc2ljX3ZhcnNfcGZhZCsnemVpdHBsYW4uZmVzdGVfc3RhcnR6ZWl0XzFfdWhyemVpdF9zdGFydF9zdHVuZGUnLCB7J25hbWUnOidmZXN0ZV9zdGFydHplaXRfMV91aHJ6ZWl0X3N0YXJ0X3N0dW5kZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6MH1dLA0KICAgIFtiYXNpY192YXJzX3BmYWQrJ3plaXRwbGFuLmZlc3RlX3N0YXJ0emVpdF8xX3VocnplaXRfc3RhcnRfbWludXRlJywgeyduYW1lJzonZmVzdGVfc3RhcnR6ZWl0XzFfdWhyemVpdF9zdGFydF9taW51dGUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOjB9XSwJDQoNCiAgICAvL0Zlc3RlIFN0YXJ0emVpdCAyDQogICAgW2Jhc2ljX3ZhcnNfcGZhZCsnemVpdHBsYW4uZmVzdGVfc3RhcnR6ZWl0XzJfdWhyemVpdF9zdGFydF9zdHVuZGUnLCB7J25hbWUnOidmZXN0ZV9zdGFydHplaXRfMl91aHJ6ZWl0X3N0YXJ0X3N0dW5kZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6MH1dLA0KICAgIFtiYXNpY192YXJzX3BmYWQrJ3plaXRwbGFuLmZlc3RlX3N0YXJ0emVpdF8yX3VocnplaXRfc3RhcnRfbWludXRlJywgeyduYW1lJzonZmVzdGVfc3RhcnR6ZWl0XzJfdWhyemVpdF9zdGFydF9taW51dGUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOjB9XSwNCg0KICAgIC8vRmVzdGUgU3RhcnR6ZWl0IDMNCiAgICBbYmFzaWNfdmFyc19wZmFkKyd6ZWl0cGxhbi5mZXN0ZV9zdGFydHplaXRfM191aHJ6ZWl0X3N0YXJ0X3N0dW5kZScsIHsnbmFtZSc6J2Zlc3RlX3N0YXJ0emVpdF8zX3VocnplaXRfc3RhcnRfc3R1bmRlJywndHlwZSc6J3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzowfV0sDQogICAgW2Jhc2ljX3ZhcnNfcGZhZCsnemVpdHBsYW4uZmVzdGVfc3RhcnR6ZWl0XzNfdWhyemVpdF9zdGFydF9taW51dGUnLCB7J25hbWUnOidmZXN0ZV9zdGFydHplaXRfM191aHJ6ZWl0X3N0YXJ0X21pbnV0ZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6MH1dLA0KDQpdDQpjcmVhdGVVc2VyU3RhdGVzKGJhc2ljX3ZhcnNfc3BlaWNoZXJvcnQsIGZhbHNlLCB2YXJzKTsNCg0KLy9GdW5rdGlvbiBtYWluIG1pdCBWZXJ6w7ZnZXJ1bmcgYXVmcnVmZW4NCnRpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsNCiAgICBWYXJpYWJsZW5fZGVmaW5pZXJlbigpOw0KfSwgNTAwMCk7DQo=</field> <comment pinned="false" h="85" w="213">Datenpunkte erstellen.Einmalig ausführen!</comment> </block> <block type="procedures_callcustomnoreturn" id="8hne)p76l+:z!2?~[ep+" x="1038" y="-1712"> <mutation name="createStates"></mutation> </block> <block type="procedures_defnoreturn" id="K3y(igNa=s#}h`_u4`]o" x="1038" y="-1662"> <field name="NAME">Variablen_definieren</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="variables_set" id="cT!q2FHvDT9k4p0HM-J;"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> <value name="VALUE"> <block type="text_join" id="83+wr`[#9R~UcY:%qv%^"> <mutation items="4"></mutation> <value name="ADD0"> <block type="variables_get" id="((00r7aod6ELvryNUiOx"> <field name="VAR" id="qsVoA3UN~%|ui,U0F.5E">basic_vars_speicherort</field> </block> </value> <value name="ADD1"> <block type="text" id="?(cG7Do7VtHgMmSgL5E:"> <field name="TEXT">.</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="#ew`}ejukP=}*0HZI]As"> <field name="VAR" id="=.g5H8ri-~ML`t;5}exk">basic_vars_pfad</field> </block> </value> <value name="ADD3"> <block type="text" id="*[ox(nZrc.cecc%Bvgr?"> <field name="TEXT">.</field> </block> </value> </block> </value> <next> <block type="comment" id="xO{_u=e6/-^3-D,IM{^Z"> <field name="COMMENT"> Feste Startzeit 1</field> <next> <block type="variables_set" id="_D2B|tocTp5TFad..U}q"> <field name="VAR" id="e6(94)(R*l5LQ$^3oiTB">vars_feste_startzeit_1_uhrzeit_start</field> <value name="VALUE"> <block type="text_join" id="YSDr8uMCzB(w7eh1XRn;"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="@s/u$Bys@)bE7=Batdt4"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="`Do^3kB9~P5Uom0oweZR"> <field name="TEXT">zeitplan.feste_startzeit_1_uhrzeit_start</field> </block> </value> </block> </value> <next> <block type="variables_set" id="%*93,]$-POIAehhIGHrH"> <field name="VAR" id="(:+x@yRB,JYgdk1ytY.V">vars_feste_startzeit_1_uhrzeit_start_stunde</field> <value name="VALUE"> <block type="text_join" id="Y+3DNIg08]NyF;jf2*yG"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="?zn+BboL/M)Zu2dVnq]/"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="Gp2b9UH#(]bnW:Wy*1T@"> <field name="TEXT">zeitplan.feste_startzeit_1_uhrzeit_start_stunde</field> </block> </value> </block> </value> <next> <block type="variables_set" id=";p!y]LtY$z+8Wr5WL48;"> <field name="VAR" id="U:v`C?g(8i{G`P6(F.MU">vars_feste_startzeit_1_uhrzeit_start_minute</field> <value name="VALUE"> <block type="text_join" id="/uT:T2_8|XIdJG+nu`G?"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="/UU.]ulVY-!R5opu34*R"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="n}o!5-S54OsQ#8:)j~DQ"> <field name="TEXT">zeitplan.feste_startzeit_1_uhrzeit_start_minute</field> </block> </value> </block> </value> <next> <block type="comment" id="5cAkvF!(_3/a4ZPL1oy)"> <field name="COMMENT">Feste Startzeit 2</field> <next> <block type="variables_set" id=")5,-MxTbG54|Z?+J;5ZM"> <field name="VAR" id="k6ii6Q,Fwbaw|qNa!0CF">vars_feste_startzeit_2_uhrzeit_start</field> <value name="VALUE"> <block type="text_join" id="?m2ImO%PrP[SeAC3#e@K"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="o1(pf2A/YzuK]!$u[*mA"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="JtGbf.LPptAQ|4W$HjGV"> <field name="TEXT">zeitplan.feste_startzeit_2_uhrzeit_start</field> </block> </value> </block> </value> <next> <block type="variables_set" id="Vf:C(M*N/=%;}p#$$fyU"> <field name="VAR" id="/x+Gfvc(}NcoyU)iUspb">vars_feste_startzeit_2_uhrzeit_start_stunde</field> <value name="VALUE"> <block type="text_join" id="di?qpRr6+mgj|q?{q}:#"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="~*m-_^72a[X,,rFgf@x|"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="GjUP#,r)pK0mjw#kM}=3"> <field name="TEXT">zeitplan.feste_startzeit_2_uhrzeit_start_stunde</field> </block> </value> </block> </value> <next> <block type="variables_set" id=",wo8rCxns_t=l(E3o2Ub"> <field name="VAR" id="=J#)%6l{P1m+.IEJ_x.9">vars_feste_startzeit_2_uhrzeit_start_minute</field> <value name="VALUE"> <block type="text_join" id=")Bd){/2iuQ3:R#luC-a1"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="na/MWN(;,H`SgJ4!4ayW"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id=".p-hq%snjfa^_P]1IXsq"> <field name="TEXT">zeitplan.feste_startzeit_2_uhrzeit_start_minute</field> </block> </value> </block> </value> <next> <block type="comment" id="I-TY)!#AsHEqGiv8N2xN"> <field name="COMMENT">Feste Startzeit 3</field> <next> <block type="variables_set" id="_#5EWdg_j=%/ZG(16{pj"> <field name="VAR" id="YDvkyM/^iFIYLf4@c7H-">vars_feste_startzeit_3_uhrzeit_start</field> <value name="VALUE"> <block type="text_join" id="n@5XWQ~w?X7tA$Y,QAd0"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id=".l(rv,3=~slfgJi45ASp"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="3Yp5bR=kfTn}r5I{pS$H"> <field name="TEXT">zeitplan.feste_startzeit_3_uhrzeit_start</field> </block> </value> </block> </value> <next> <block type="variables_set" id="LdTh9j)2BoRC7,ob7Nj$"> <field name="VAR" id="C@k-71KK~KL;_P,~`uKx">vars_feste_startzeit_3_uhrzeit_start_stunde</field> <value name="VALUE"> <block type="text_join" id="II`rC9UdL!X!#.+@Z8h["> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="tB_d{!,II9DHNVV-cFa)"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id="zrtR{,oKRXme:e|^wtk!"> <field name="TEXT">zeitplan.feste_startzeit_3_uhrzeit_start_stunde</field> </block> </value> </block> </value> <next> <block type="variables_set" id="jT@}rS#tpL9ME[cEt$8Q"> <field name="VAR" id="dNhr+Q{h)|S,QS#zxT69">vars_feste_startzeit_3_uhrzeit_start_minute</field> <value name="VALUE"> <block type="text_join" id="Y)kLi[9pU=;)Z_sM(^a2"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="6?l5L[~)R2_Fns3[QavT"> <field name="VAR" id="6^DA8jeCd@^SA#@Y}3up">vars_pfad</field> </block> </value> <value name="ADD1"> <block type="text" id=".hcdGi$B.34JwY(@MMsm"> <field name="TEXT">zeitplan.feste_startzeit_3_uhrzeit_start_minute</field> </block> </value> </block> </value> <next> <block type="procedures_callnoreturn" id="1c#pXTBXZNhq|]lz6/O#"> <mutation name="main"></mutation> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defnoreturn" id="9|=5kT=(e64(5^H3EB6v" x="1038" y="-887"> <field name="NAME">main</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="on_ext" id="z_%Agi[%`)w5)oM24LN-"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="6"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="7`;4LIV}P+mpag%GH/DN"> <field name="oid">default</field> </shadow> <block type="variables_get" id="Sup@j)/SPL=_*m5lA_y]"> <field name="VAR" id="(:+x@yRB,JYgdk1ytY.V">vars_feste_startzeit_1_uhrzeit_start_stunde</field> </block> </value> <value name="OID1"> <shadow type="field_oid" id="lry8|UM3EF1e5!={2U@s"> <field name="oid">default</field> </shadow> <block type="variables_get" id="]~,T2GWnr?p2[Da_Q~dj"> <field name="VAR" id="U:v`C?g(8i{G`P6(F.MU">vars_feste_startzeit_1_uhrzeit_start_minute</field> </block> </value> <value name="OID2"> <shadow type="field_oid" id="oF1EP4lp9$~5-2nKDr+L"> <field name="oid">default</field> </shadow> <block type="variables_get" id="/Nc/qv^?e4msu}vWk/Y-"> <field name="VAR" id="/x+Gfvc(}NcoyU)iUspb">vars_feste_startzeit_2_uhrzeit_start_stunde</field> </block> </value> <value name="OID3"> <shadow type="field_oid" id="8B+MZGdlrSTMN.F00k9{"> <field name="oid">default</field> </shadow> <block type="variables_get" id="tfH8y+Q!#9~StUA]=3PI"> <field name="VAR" id="=J#)%6l{P1m+.IEJ_x.9">vars_feste_startzeit_2_uhrzeit_start_minute</field> </block> </value> <value name="OID4"> <block type="variables_get" id="nKvIo{BKTXv|LEM:$nzB"> <field name="VAR" id="C@k-71KK~KL;_P,~`uKx">vars_feste_startzeit_3_uhrzeit_start_stunde</field> </block> </value> <value name="OID5"> <block type="variables_get" id="2btlrK,/YYY`-wc]cYeb"> <field name="VAR" id="dNhr+Q{h)|S,QS#zxT69">vars_feste_startzeit_3_uhrzeit_start_minute</field> </block> </value> <statement name="STATEMENT"> <block type="comment" id="f+Iq|D5F=wGkQ{dlo{.,"> <field name="COMMENT">Feste Uhrzeit 1</field> <next> <block type="controls_if" id="t=4r~H6NJrdYBxvAMZX1"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="jeG(F|?`O]ufNvWlCJ]w"> <field name="OP">LT</field> <value name="A"> <block type="get_value_var" id="9(~wcqbGa3z,YxITac3N"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="DSE]IJId=Z5l{2.WC@nN"> <field name="VAR" id="(:+x@yRB,JYgdk1ytY.V">vars_feste_startzeit_1_uhrzeit_start_stunde</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="UU0I)T^-%$/!JipTdNFa"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="QUxcQ[a_?X-nyMqdV?Fc"> <field name="VAR" id="CxmTK]7-^@*{l:W*bO`r">startzeit_fix_1_stunde</field> <value name="VALUE"> <block type="text_join" id="(t:uqW2b(;NitH^Uyvm+"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="T80r+n]yUaaf3(G*/`$Q"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="PY65Pb9#nDC=:2.-mkL,"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="[@U=%i:74Jl8Vnv,|LG]"> <field name="VAR" id="(:+x@yRB,JYgdk1ytY.V">vars_feste_startzeit_1_uhrzeit_start_stunde</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="~AdMx^A86NA6CYk0fO7Y"> <field name="VAR" id="CxmTK]7-^@*{l:W*bO`r">startzeit_fix_1_stunde</field> <value name="VALUE"> <block type="get_value_var" id="anI3*L+J;7$H:/Kmbf6]"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id=";KTxoA/Mc3RQl?fceFfI"> <field name="VAR" id="(:+x@yRB,JYgdk1ytY.V">vars_feste_startzeit_1_uhrzeit_start_stunde</field> </block> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="6z*FdPN(p2$8|f!`?pr;"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="x90o$@Ku08F:RO^s=,2o"> <field name="OP">LT</field> <value name="A"> <block type="get_value_var" id="ORM5S[-67_vP*t*Q93Q2"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="rCyC:K3PHWwMZfM}NTZ."> <field name="VAR" id="U:v`C?g(8i{G`P6(F.MU">vars_feste_startzeit_1_uhrzeit_start_minute</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="Bd]|O74N`RmCmtPMrG16"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="{L#(R^:5/5%|kwrW!]};"> <field name="VAR" id="[jgk[T%H2qgXYs/h1Z?W">startzeit_fix_1_minunte</field> <value name="VALUE"> <block type="text_join" id="h$5~T0#]Hmka/+yMp8Hj"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="_,tc@;hf|uBj@g5{nB1U"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="DCT7^i(u0odu1_V]iv[t"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="BUx5Ii@tHPi^pu4{d2(^"> <field name="VAR" id="U:v`C?g(8i{G`P6(F.MU">vars_feste_startzeit_1_uhrzeit_start_minute</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id=":u^A/WXrgi!0dP8/yO~q"> <field name="VAR" id="[jgk[T%H2qgXYs/h1Z?W">startzeit_fix_1_minunte</field> <value name="VALUE"> <block type="get_value_var" id=".r+Mwz8$nZFz9F*7*UJk"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="17ScTlsAn5ybVbgv0W*U"> <field name="VAR" id="U:v`C?g(8i{G`P6(F.MU">vars_feste_startzeit_1_uhrzeit_start_minute</field> </block> </value> </block> </value> </block> </statement> <next> <block type="control_ex" id="@~z{mEHs[5ct2=0h#1jr" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="RZ#M8G}#/.75#|Xn}O/3"> <field name="VAR" id="e6(94)(R*l5LQ$^3oiTB">vars_feste_startzeit_1_uhrzeit_start</field> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="}Vyp)Q)=A)2swNvEQPrs"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="@Hqqzse.if%}+,=gosy4"> <field name="VAR" id="CxmTK]7-^@*{l:W*bO`r">startzeit_fix_1_stunde</field> </block> </value> <value name="ADD1"> <block type="text" id="t8/|YCj}r1mV)*Si!8M`"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="!bdntNjjnqa3Xw=lx(Rl"> <field name="VAR" id="[jgk[T%H2qgXYs/h1Z?W">startzeit_fix_1_minunte</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="{U8D|l^4.DRV}Zk3:dPl"> <field name="NUM">0</field> </shadow> </value> <next> <block type="comment" id="EEcSwL?f[e/18-1I@b`["> <field name="COMMENT">Feste Uhrzeit 2</field> <next> <block type="controls_if" id="@u;N[,jmYN^K_jrkq0^:"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="C.FW.p@]`=+OiLOt7!!6"> <field name="OP">LT</field> <value name="A"> <block type="get_value_var" id="R?0EEe?oXW=peUhf%A!u"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="K_*^rZEc7/f3@rwMAWgr"> <field name="VAR" id="/x+Gfvc(}NcoyU)iUspb">vars_feste_startzeit_2_uhrzeit_start_stunde</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="UYe@2T9L([_sJ12P)m}q"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="[kU!F;tBauurWpBS-{^]"> <field name="VAR" id="9F/8I}+,UJ;cf*uk:;a[">startzeit_fix_2_stunde</field> <value name="VALUE"> <block type="text_join" id="BD%M238t/1DgY@[gAbO/"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="X;E91s5T6u?N^C=|!SS3"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="7#{c?Qgr@[SjGvWt+frW"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="@1Xth%?LDIt!R{r%tY+d"> <field name="VAR" id="/x+Gfvc(}NcoyU)iUspb">vars_feste_startzeit_2_uhrzeit_start_stunde</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="lEthPMe2+Tl~NVDi1~[3"> <field name="VAR" id="9F/8I}+,UJ;cf*uk:;a[">startzeit_fix_2_stunde</field> <value name="VALUE"> <block type="get_value_var" id="a^0:*JzM89t1Pl`148!b"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="rME|V?J-6P8YGHXc;L^["> <field name="VAR" id="/x+Gfvc(}NcoyU)iUspb">vars_feste_startzeit_2_uhrzeit_start_stunde</field> </block> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="Mro[HBI`Ra9FH080|t,."> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="lzb%$6?Q%qobuHQjcKNY"> <field name="OP">LT</field> <value name="A"> <block type="get_value_var" id="wQ$%K,$H;_oz6AqfkyY/"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="gcGiB*`qf#(rC6P+Kc8s"> <field name="VAR" id="=J#)%6l{P1m+.IEJ_x.9">vars_feste_startzeit_2_uhrzeit_start_minute</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="H#@TOHv(,GJ=m64/E`Z{"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="dhLR6TSDpj!,h/BTI~5?"> <field name="VAR" id="22zeet5@cr#-KVvtS!]/">startzeit_fix_2_minunte</field> <value name="VALUE"> <block type="text_join" id=":]Wd~o^i.zVVY%`VX;l@"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="lqSTc!Zh`){bR=@Wn;rj"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="1ogeFq_o)XXRg99}AP!q"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="bJ#Op?JvB1_Z^z3:f95("> <field name="VAR" id="=J#)%6l{P1m+.IEJ_x.9">vars_feste_startzeit_2_uhrzeit_start_minute</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="y6yVtGWq_hV;1TIFXEg0"> <field name="VAR" id="22zeet5@cr#-KVvtS!]/">startzeit_fix_2_minunte</field> <value name="VALUE"> <block type="get_value_var" id="UKSDp.84[GE5uiZ!uQ_L"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="=g2+LDL_U{~yqsTfL55y"> <field name="VAR" id="=J#)%6l{P1m+.IEJ_x.9">vars_feste_startzeit_2_uhrzeit_start_minute</field> </block> </value> </block> </value> </block> </statement> <next> <block type="control_ex" id="jg_P}PAWXcFr7;j`Y,sr" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="WLraVn~dyjGs-|y^IGLz"> <field name="VAR" id="k6ii6Q,Fwbaw|qNa!0CF">vars_feste_startzeit_2_uhrzeit_start</field> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id=",#CXP}Smf5^m6-5F9v0G"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="6pe/meAKdxM3BAhR$b{y"> <field name="VAR" id="9F/8I}+,UJ;cf*uk:;a[">startzeit_fix_2_stunde</field> </block> </value> <value name="ADD1"> <block type="text" id="G!-e3Z]0u+j?8lJ*;z]$"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="variables_get" id=".D1Kb51}}!crP6}c0DIW"> <field name="VAR" id="22zeet5@cr#-KVvtS!]/">startzeit_fix_2_minunte</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="$2RwC5/L8pAr(wD@?p%["> <field name="NUM">0</field> </shadow> </value> <next> <block type="comment" id="Mpy%[}6n93DAGSV@vtR="> <field name="COMMENT">Feste Uhrzeit 3</field> <next> <block type="controls_if" id="=UGS{sF`t7U/!HssE:}!"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="2Tkr|`4!6Fk[P7P3O83R"> <field name="OP">LT</field> <value name="A"> <block type="get_value_var" id="ev([]3/`mU_VpTZayA=L"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="StFtiq=C,y[|9FCSWut."> <field name="VAR" id="C@k-71KK~KL;_P,~`uKx">vars_feste_startzeit_3_uhrzeit_start_stunde</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="m?0GTCJ``@+`vHjCAh2d"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="G6rgs2$2PfjP}w:xm}GX"> <field name="VAR" id="Hj0rf]u)ro)Bd3V(-~vm">startzeit_fix_3_stunde</field> <value name="VALUE"> <block type="text_join" id="LMFQ^Lxr=z*;2Hm~Au(^"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="!t)[H+1pyP~13RCh3*Y."> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="}Lh[)k[=9jIVa0CplK/r"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="21-C`(U2B~04}pk2,|2e"> <field name="VAR" id="C@k-71KK~KL;_P,~`uKx">vars_feste_startzeit_3_uhrzeit_start_stunde</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="ADJSl1G;bCM1LZ*Cfu]{"> <field name="VAR" id="Hj0rf]u)ro)Bd3V(-~vm">startzeit_fix_3_stunde</field> <value name="VALUE"> <block type="get_value_var" id="_%DC=wivHZHgk4poZ(vz"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="tcRA*uUOyG$|uOy-{,Kl"> <field name="VAR" id="C@k-71KK~KL;_P,~`uKx">vars_feste_startzeit_3_uhrzeit_start_stunde</field> </block> </value> </block> </value> </block> </statement> <next> <block type="controls_if" id="O)W:,@WYq-*E6]WXhus%"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="*M]eG0I^{rnM%v+tUVX?"> <field name="OP">LT</field> <value name="A"> <block type="get_value_var" id="g3WSoJE0.Vo@tP07aCFC"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="}X^fdBxcf-UZM7=`$D;V"> <field name="VAR" id="dNhr+Q{h)|S,QS#zxT69">vars_feste_startzeit_3_uhrzeit_start_minute</field> </block> </value> </block> </value> <value name="B"> <block type="math_number" id="RAAcmBqU~MGS=RNP13t4"> <field name="NUM">10</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="*jM^-ie2hS(!wa*bTq+|"> <field name="VAR" id="FRK{-:q-e+@8#^RGfEO#">startzeit_fix_3_minute</field> <value name="VALUE"> <block type="text_join" id="J*DVL?nAZXV(F_KD}1BA"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="qa^%_@VyRDduQl9aE[6]"> <field name="TEXT">0</field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="v!h.4]@)xL$Y(Riy#-%F"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="r`/]*YU^[%huT739,pF7"> <field name="VAR" id="dNhr+Q{h)|S,QS#zxT69">vars_feste_startzeit_3_uhrzeit_start_minute</field> </block> </value> </block> </value> </block> </value> </block> </statement> <statement name="ELSE"> <block type="variables_set" id="pm0*v.`8vCIXQ`g:K2+F"> <field name="VAR" id="FRK{-:q-e+@8#^RGfEO#">startzeit_fix_3_minute</field> <value name="VALUE"> <block type="get_value_var" id="2mt0P?*?CP)xkJ^8s0lT"> <field name="ATTR">val</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="lxUhIWVf~$[b@N^mG3u9"> <field name="VAR" id="dNhr+Q{h)|S,QS#zxT69">vars_feste_startzeit_3_uhrzeit_start_minute</field> </block> </value> </block> </value> </block> </statement> <next> <block type="control_ex" id="$$[JqX{OX9k(z,:7Y4Ob" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="CKnMfU@+)E(@Rnp{#cKj"> <field name="VAR" id="YDvkyM/^iFIYLf4@c7H-">vars_feste_startzeit_3_uhrzeit_start</field> </block> </value> <value name="VALUE"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="logic_boolean"> <field name="BOOL">TRUE</field> </shadow> <block type="text_join" id="ISX2OkorM:J`pKTkx3qS"> <mutation items="3"></mutation> <value name="ADD0"> <block type="variables_get" id="%Vr99}3V{Ji5m!^F*Enx"> <field name="VAR" id="Hj0rf]u)ro)Bd3V(-~vm">startzeit_fix_3_stunde</field> </block> </value> <value name="ADD1"> <block type="text" id="zw)tB8]Ywlr[1d1(!LSF"> <field name="TEXT">:</field> </block> </value> <value name="ADD2"> <block type="variables_get" id="*ku760[%5g*X(l@MA1mG"> <field name="VAR" id="FRK{-:q-e+@8#^RGfEO#">startzeit_fix_3_minute</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="i9L!lcxTVz,`%Ehc)aMT"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </xml>Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung
-
@Kuddel Wenns zuviel wird mit den Ideen sag bescheid - das funktioniert so schon super! Aber wenn man sich mit beschäftigt kommen halt auch Ideen :)
Ich hätte da noch ein paar Statistik Daten im Kopf: Bewässerungszeit je Woche, Verbrauch Wasser in Liter, ... :)
Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung