Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [Vorlage] Gartenbewässerung mit 6 Ventilen

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

[Vorlage] Gartenbewässerung mit 6 Ventilen

Geplant Angeheftet Gesperrt Verschoben Blockly
1.2k Beiträge 76 Kommentatoren 375.3k Aufrufe 88 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • K Kuddel

    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 integriert

    Hinweis 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 neuer

    Unter diesem Link findet ihr meine Komplette VIS inkl. der Bewässerungssteuerung: komplette VIS
    oder nur die Bewässerungssteuerung Bewaesserungs VIS

    7f9f903d-960d-42af-ab12-fa9dbc36d0de-grafik.png

    Mail-Info beim Start


    Bewaesserungsdauer: 40:02 Min
    Start: 04:35:02 Uhr
    Ende: 05:15:04 Uhr

    Ventil 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 Uhr

    Skript-Version: 4.3.5

    Aktuelle Skript Version zum herunterladen (Blockly Export)
    bewaesserung_v442.zip

    Anleitung für die Inbetriebnahme des Skriptes:


    Blockly Skript anpassen:

    Die Variablen für euch entsprechend anpassen
    489dffe1-3ae6-4285-aa9c-46eed75b2383-grafik.png

    5540df54-47d8-4d3d-b17f-83bce4c16c49-grafik.png

    Sofern Tasmota mit Zugangsadaten im Einsatz ist:
    3058586b-5183-4b8e-85dd-c7afbcf2bd6f-grafik.png

    ad5c05b3-1f8f-48df-9168-1ab89e2c1c6d-grafik.png

    8ec89f53-a87e-4372-9124-7f144329f779-grafik.png

    Skript starten

    Folgendes DPs müssen mindestens angepasst werden

    0_userdata.0.bewaesserung.ventile.ventil_1.ventil_1
    

    auf true: Damit wird Ventil 1 für die Bewäserung berücksichtig

    0_userdata.0.bewaesserung.ventile.ventil_1.ventil_1_dauer
    

    in Seek
    oder

    0_userdata.0.bewaesserung.ventile.ventil_1.ventil_1_dauer_in_min
    

    in Minuten

    Jetzt kann das Skript schon eimal manuell gestartet werden:

    0_userdata.0.bewaesserung.bewaesserung_aktiv
    

    auf 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 Parser

    Name: Bewaesserung
    Whitelist UND: Bewaesserung:
    Whitelist ODER:
    Blacklist:
    Bereinigen: Bewaesserung:
    Datumsformat: #DD.MM.# hh:mm

    17b90c58-e2bd-471c-b834-c497f858a556-grafik.png

    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
    Bugfixes

    4.4.0 (2022-08-11) bewaesserung_v440.zip
    Aktoren-Namen der Ventile in DP schreiben für direkte Aktivierung per VIS

    4.3.5 (2022-08-04) bewaesserung_V435.zip
    Bugfix Name Ventil 6
    Bugfix Berechnung Anzahl der Ventile

    4.3.4 (2022-07-19) bewaessserung_v434.zip
    Bugfix Start Ventil 1

    4.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 Ansagen

    4.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 werden

    4.3.0 (2022-05-04) bewaesserung_v4.3.0.zip
    Redesign Intervall-Schaltung
    Bugfixes

    4.2.0 (2022-04-23) bewaesserung_v4.2.0.zip
    Skript Version in Start-Mail hinterlegt
    Shelly Plus (andere DPs) Unterstützung integriert

    4.1.0 (2022-04-20) bewaesserung_v4.1.0.zip
    Buxfix Intervall-Steuerung
    Check, ob Aktor korrekt aktiviert wurde

    4.0.2 (2022-04-11) bewaesserung_v4.0.2.zip
    Buxfixes bzgl. Alexa-Sprachausgabe und LogParser

    4.0.1 (2022-03-25) bewaesserung_v4.0.1.zip
    Bugfix bzgl. der Enduhrzeit der einzelnen Ventile

    4.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änzt

    3.2.2 (2021-09-03)
    Pushover Instanz Angabe ergänzt

    3.2.1 (2021-08-31)
    Status DP für VIS hinzugefügt

    3.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ässerungsstart

    3.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.0

    2.10.7 (2021-06-28)
    Buxfix Anzahl Ventile
    Skript-Version wird in DP für VIS geschrieben

    2.10.6 (2021-06-24)
    Buxfix Laufzeit-Brechnung
    Buxfix Tipfehler in DPs

    2.10.5 (2021-06-16)
    Pausenschaltung für Pumpen-Aktor ergänzt

    2.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ässerungsdauer

    2.10.2 (2021-03-20)
    Bugfix beim setzen der Timer (Cron)
    Verbauch runden auf 3 Nachkommastellen

    2.10.1 (2020-09-23)
    Berechnung der Endzeit für die VIS bei Festen Startzeiten ergänzt

    2.10.0 (2020-09-16)
    Erweiterung Statistik um verbrauchte Wassermenge

    2.9.2 (2020-08-13)
    Erweiterung Statistik um Woche

    2.9.1 (2020-08-12)
    Steuerung eines Netzeil für Ventile analog zur Pumpensteeuerung hinzugefügt

    2.9.0 (2020-08-11)
    Statistiken hinzugefügt

    2.8.0 (2020-08-06)
    Intervall Bewässerung hinzugefügt
    Zeitplan DP Struktur aufgeräumt

    2.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 überarbeitet

    2.7.3 (2020-08-03)
    Buxfixes für Benachrichtigungen
    Verwenung der Wingeschwindigkeit bem Wetter-Check
    Neuer Status-DP, ob Bewässerung gestartet wird

    2.7.2 (2020-07-31)
    Bugfix Ventil 6

    2.7.1 (2020-07-31)
    Aktivierung / Deaktiverung der Verwendung von Wetterdaten hinzugefügt

    2.7.0 (2020-07-31)
    Alexa Befehle von aktualisiere auf steuere geändert
    Wochentage für Cron auswählbar

    2.6.8 (2020-07-24)
    Nicht mehr benötigte DPs werden gelöscht
    Bugfixes

    2.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ügt

    2.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 Laufzeit

    2.6.6 (2020-07-14)
    Automatik ausschalten, wenn keine Zeiten aktiviert sind
    Schwellwerte-Check per VIS aktivieren / deaktivieren

    2.6.5 (2020-07-13)
    Bugfix Ventil 6
    Schwellwerte Regen / Temp gestern hinzugefügt

    2.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ügt

    2.6.3 (2020-06-28)
    Parallel-Modus für Ventil 1 wieder hinzugefügt
    Enduhrzeiten für morgens und Abends werden errechnet

    2.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 überschrieben

    2.6.1 (2020-06-13)
    Bugfix für HM ON_TIME

    2.6.0 (2020-06-12)
    Erweitert auf 6 Ventile
    Shelly Aktoren werden supportet

    2.5.1 (2020-06-04)
    Bugfixes im Bereich Logeinträge

    2.5.0 (2020-05-26)
    Ventil 5 hinzugefügt

    2.4.0 (2020-05-20)
    Bugfixes im Log-Bereich

    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    schrieb am zuletzt editiert von sigi234
    #291

    @Kuddel

    Hallo, geht Ventil 6 schon?

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    K 1 Antwort Letzte Antwort
    0
    • sigi234S sigi234

      @Kuddel

      Hallo, geht Ventil 6 schon?

      K Offline
      K Offline
      Kuddel
      schrieb am zuletzt editiert von
      #292

      @sigi234 ich meine ja. aber würde ich auf jeden fall morgen noch einmal testen

      meine aktuelle v2.6.8

      bewaesserung_v2.6.8.zip

      dslraserD sigi234S 2 Antworten Letzte Antwort
      0
      • K Kuddel

        @sigi234 ich meine ja. aber würde ich auf jeden fall morgen noch einmal testen

        meine aktuelle v2.6.8

        bewaesserung_v2.6.8.zip

        dslraserD Offline
        dslraserD Offline
        dslraser
        Forum Testing Most Active
        schrieb am zuletzt editiert von dslraser
        #293

        @Kuddel

        meine aktuelle v2.6.8

        ich habe Dir mal in Deine letzte 2.6.8 die Änderungen in der Datenpunkte_erstellen Funktion eingebaut (also auch den Teil mit dem löschen der nicht mehr benötigten Ventile und ändern der Namen)
        Hier der Inhalt der Funktion (also nicht das ganze Blockly)
        Schau es Dir einfach in Ruhe an wenn Du Zeit hast.

        /**
        * Create states under 0_userdata.0 or javascript.x
        * Current Version:     https://github.com/Mic-M/iobroker.createUserStates
        * Support:             https://forum.iobroker.net/topic/26839/
        * Autor:               Mic (ioBroker) | Mic-M (github)
        * Version:             1.1 (26 January 2020)
        * Example:             see https://github.com/Mic-M/iobroker.createUserStates#beispiel
        * -----------------------------------------------
        * PLEASE NOTE: Per https://github.com/ioBroker/ioBroker.javascript/issues/474, the used function setObject() 
        *              executes the callback PRIOR to completing the state creation. Therefore, we use a setTimeout and counter. 
        * -----------------------------------------------
        * @param {string} where          Where to create the state: '0_userdata.0' or 'javascript.x'.
        * @param {boolean} force         Force state creation (overwrite), if state is existing.
        * @param {array} statesToCreate  State(s) to create. single array or array of arrays
        * @param {object} [callback]     Optional: a callback function -- This provided function will be executed after all states are created.
        */
        
        
        
        
        function createUserStates(where, force, statesToCreate, callback = undefined) {
           
           const WARN = false; // Only for 0_userdata.0: Throws warning in log, if state is already existing and force=false. Default is false, so no warning in log, if state exists.
           const LOG_DEBUG = false; // To debug this function, set to true
           // Per issue #474 (https://github.com/ioBroker/ioBroker.javascript/issues/474), the used function setObject() executes the callback 
           // before the state is actual created. Therefore, we use a setTimeout and counter as a workaround.
           const DELAY = 50; // Delay in milliseconds (ms). Increase this to 100, if it is not working.
        
           // Validate "where"
           if (where.endsWith('.')) where = where.slice(0, -1); // Remove trailing dot
           if ( (where.match(/^((javascript\.([1-9][0-9]|[0-9]))$|0_userdata\.0$)/) == null) ) {
               log('This script does not support to create states under [' + where + ']', 'error');
               return;
           }
        
           // Prepare "statesToCreate" since we also allow a single state to create
           if(!Array.isArray(statesToCreate[0])) statesToCreate = [statesToCreate]; // wrap into array, if just one array and not inside an array
        
           // Add "where" to STATES_TO_CREATE
           for (let i = 0; i < statesToCreate.length; i++) {
               let lpPath = statesToCreate[i][0].replace(/\.*\./g, '.'); // replace all multiple dots like '..', '...' with a single '.'
               lpPath = lpPath.replace(/^((javascript\.([1-9][0-9]|[0-9])\.)|0_userdata\.0\.)/,'') // remove any javascript.x. / 0_userdata.0. from beginning
               lpPath = where + '.' + lpPath; // add where to beginning of string
               statesToCreate[i][0] = lpPath;
           }
        
           if (where != '0_userdata.0') {
               // Create States under javascript.x
               let numStates = statesToCreate.length;
               statesToCreate.forEach(function(loopParam) {
                   if (LOG_DEBUG) log('[Debug] Now we are creating new state [' + loopParam[0] + ']');
                   let loopInit = (loopParam[1]['def'] == undefined) ? null : loopParam[1]['def']; // mimic same behavior as createState if no init value is provided
                   createState(loopParam[0], loopInit, force, loopParam[1], function() {
                       numStates--;
                       if (numStates === 0) {
                           if (LOG_DEBUG) log('[Debug] All states processed.');
                           if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                               if (LOG_DEBUG) log('[Debug] Function to callback parameter was provided');
                               return callback();
                           } else {
                               return;
                           }
                       }
                   });
               });
           } else {
               // Create States under 0_userdata.0
               let numStates = statesToCreate.length;
               let counter = -1;
               statesToCreate.forEach(function(loopParam) {
                   counter += 1;
                   if (LOG_DEBUG) log ('[Debug] Currently processing following state: [' + loopParam[0] + ']');
                   if( ($(loopParam[0]).length > 0) && (existsState(loopParam[0])) ) { // Workaround due to https://github.com/ioBroker/ioBroker.javascript/issues/478
                       // State is existing.
                       if (WARN && !force) log('State [' + loopParam[0] + '] is already existing and will no longer be created.', 'warn');
                       if (!WARN && LOG_DEBUG) log('[Debug] State [' + loopParam[0] + '] is already existing. Option force (=overwrite) is set to [' + force + '].');
                       if(!force) {
                           // State exists and shall not be overwritten since force=false
                           // So, we do not proceed.
                           numStates--;
                           if (numStates === 0) {
                               if (LOG_DEBUG) log('[Debug] All states successfully processed!');
                               if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                   if (LOG_DEBUG) log('[Debug] An optional callback function was provided, which we are going to execute now.');
                                   return callback();
                               }
                           } else {
                               // We need to go out and continue with next element in loop.
                               return; // https://stackoverflow.com/questions/18452920/continue-in-cursor-foreach
                           }
                       } // if(!force)
                   }
        
                   // State is not existing or force = true, so we are continuing to create the state through setObject().
                   let obj = {};
                   obj.type = 'state';
                   obj.native = {};
                   obj.common = loopParam[1];
                   setObject(loopParam[0], obj, function (err) {
                       if (err) {
                           log('Cannot write object for state [' + loopParam[0] + ']: ' + err);
                       } else {
                           if (LOG_DEBUG) log('[Debug] Now we are creating new state [' + loopParam[0] + ']')
                           let init = null;
                           if(loopParam[1].def === undefined) {
                               if(loopParam[1].type === 'number') init = 0;
                               if(loopParam[1].type === 'boolean') init = false;
                               if(loopParam[1].type === 'string') init = '';
                           } else {
                               init = loopParam[1].def;
                           }
                           setTimeout(function() {
                               setState(loopParam[0], init, true, function() {
                                   if (LOG_DEBUG) log('[Debug] setState durchgeführt: ' + loopParam[0]);
                                   numStates--;
                                   if (numStates === 0) {
                                       if (LOG_DEBUG) log('[Debug] All states processed.');
                                       if (typeof callback === 'function') { // execute if a function was provided to parameter callback
                                           if (LOG_DEBUG) log('[Debug] Function to callback parameter was provided');
                                           return callback();
                                       }
                                   }
                               });
                           }, DELAY + (20 * counter) );
                       }
                   });
               });
           }
        }
        
        //log('--- Datenobjekte fuer die Bewaesserung werden angelegt ---')
        
        let vars = [
           //Bewässerung
           [basic_vars_pfad+'.bewaesserung_aktiv', {'name':'bewaesserung_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.bewaesserung_automatik', {'name':'bewaesserung_automatik','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.bewaesserung_pause', {'name':'bewaesserung_pause','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
          
           //Timer
           [basic_vars_pfad+'.lautzeit_gesamt_in_sek', {'name':'lautzeit_gesamt_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.lautzeit_ende_uhrzeit', {'name':'lautzeit_ende_uhrzeit','type':'string','read':true,'write':false,'role':'string','def': ''}],
           [basic_vars_pfad+'.restlautzeit', {'name':'restlautzeit','type': 'mixed','read':true,'write':false,'role':'mixed','def':0}],
           [basic_vars_pfad+'.restlautzeit_in_sek', {'name':'restlautzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.gesamtfortschritt', {'name':'gesamtfortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.gesamtrest', {'name':'gesamtrest','type':'mixed','read':true,'write':false,'role':'mixed','def':100,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.letzter_durchgang', {'name':'letzter_durchgang','type':'string','read':true,'write':false,'role':'string','def': '00:00'}],
             
           //Schwellwerte
           [basic_vars_pfad+'.schwellwerte.schwellwert_check_aktiv', {'name':'schwellwert_check_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':true}],
           [basic_vars_pfad+'.schwellwerte.schwellwert_regen', {'name':'schwellwert_regen','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'mm'}],
           [basic_vars_pfad+'.schwellwerte.schwellwert_temperatur', {'name':'schwellwert_temperatur','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'°C'}],
           [basic_vars_pfad+'.schwellwerte.schwellwerte_ok', {'name':'schwellwerte_ok','type':'boolean','read':true,'write':false,'role':'switch','def':false}],
           [basic_vars_pfad+'.schwellwerte.schwellwerte_info_senden', {'name':'schwellwerte_info_senden','type':'boolean','read':true,'write':true,'role':'switch','def':false, 'descr':'Dieser DP wird ausgeloest, wenn die Automatik startet, die Schwellwerte aber ueberschritten wurden'}],
           [basic_vars_pfad+'.schwellwerte.gestern_regen', {'name':'gestern_regen','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'mm'}],
           [basic_vars_pfad+'.schwellwerte.gestern_temp', {'name':'gestern_temp','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'°C'}],
          
           //Ventile
           [basic_vars_pfad+'.ventile.anzahl_aktive_ventile', {'name':'anzahl_aktive_ventile','type':'number','read':true,'write':false,'role':'number','def':0,'min':0, 'max':6} ],
             
           //Zeitplan
           [basic_vars_pfad+'.zeitplan.cron_restart', {'name':'cron_restart','type': 'mixed','read':true,'write':false,'role':'mixed','def':0,'unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.sonnenaufgang', {'name':'sonnenaufgang','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.sonnenuntergang', {'name':'sonnenuntergang','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
          
           //Morgens
           [basic_vars_pfad+'.zeitplan.morgens_aktiv', {'name':'morgens_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.zeitplan.morgens_uhrzeit_start', {'name':'morgens_uhrzeit_start','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.morgens_uhrzeit_ende', {'name':'morgens_uhrzeit_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.morgens_verzoegerung_sonnenaufgang', {'name':'morgens_verzoegerung_sonnenaufgang','type': 'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
        
           //Abends
           [basic_vars_pfad+'.zeitplan.abends_aktiv', {'name':'abends_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.zeitplan.abends_uhrzeit_start', {'name':'abends_uhrzeit_start','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.abends_uhrzeit_ende', {'name':'abends_uhrzeit_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.abends_verzoegerung_sonnenuntergang', {'name':'abends_verzoegerung_sonnenuntergang','type': 'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
        
           //Feste Startzeit 1
           [basic_vars_pfad+'.zeitplan.feste_startzeit_1_aktiv', {'name':'feste_startzeit_1_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.zeitplan.feste_startzeit_1_uhrzeit_start', {'name':'feste_startzeit_1_uhrzeit_start','type':'string','read':true,'write':true,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.feste_startzeit_1_uhrzeit_ende', {'name':'feste_startzeit_1_uhrzeit_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
             
           //Feste Startzeit 2
           [basic_vars_pfad+'.zeitplan.feste_startzeit_2_aktiv', {'name':'feste_startzeit_2_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.zeitplan.feste_startzeit_2_uhrzeit_start', {'name':'feste_startzeit_2_uhrzeit_start','type':'string','read':true,'write':true,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.feste_startzeit_2_uhrzeit_ende', {'name':'feste_startzeit_2_uhrzeit_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
          
          
           //Feste Startzeit 3
           [basic_vars_pfad+'.zeitplan.feste_startzeit_3_aktiv', {'name':'feste_startzeit_3_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.zeitplan.feste_startzeit_3_uhrzeit_start', {'name':'feste_startzeit_3_uhrzeit_start','type':'string','read':true,'write':true,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.zeitplan.feste_startzeit_3_uhrzeit_ende', {'name':'feste_startzeit_3_uhrzeit_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
        ]
        createUserStates(basic_vars_speicherort, false, vars);
        
           //Diese DPs sollen bei jedem Speichern überschrieben werden
           let vars_writable = [
           [basic_vars_pfad+'.ventile.anzahl_ventile', {'name':'anzahl_ventile','type':'number','read':true,'write':false,'role':'number','def':basic_vars_anzahl_ventile,'min':0, 'max':basic_vars_anzahl_ventile} ],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_name', {'name':'ventil_1_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis1_name}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_name', {'name':'ventil_2_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis2_name}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_name', {'name':'ventil_3_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis3_name}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_name', {'name':'ventil_4_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis4_name}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_name', {'name':'ventil_5_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis5_name}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_name', {'name':'ventil_6_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis6_name}],
        ]
        createUserStates(basic_vars_speicherort, true, vars_writable);
        
        if(basic_vars_anzahl_ventile > 0) {
           let vars_ventil_1 = [
           //Ventil 1
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1', {'name':'ventil_1','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_dauer', {'name': 'ventil_1_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_dauer_in_min', {'name': 'ventil_1_dauer_in_min','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_ende', {'name':'ventil_1_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_fortschritt', {'name':'ventil_1_fortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_rest', {'name':'ventil_1_rest','type':'number','read':true,'write':false,'role':'number','def':100,'unit':'%','min':0,'max':100}],
           //[basic_vars_pfad+'.ventile.ventil_1.ventil_1_name', {'name':'ventil_1_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis1_name}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_restzeit', {'name':'ventil_1_restzeit','type': 'string','read':true,'write':false,'role':'string','def':'0:00','unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_restzeit_in_sek', {'name':'ventil_1_restzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_status', {'name':'ventil_1_status','type':'boolean','read':true,'write':false,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_1.ventil_1_parallel', {'name':'ventil_1_parallel','type':'boolean','read':true,'write':true,'role':'switch','def':false,'descr':'Wenn dieser DP aktiviert wird, dann werden Ventil 2 bis X parallel zu Ventil 1 gestartet. Usecase: an Ventil 1 ist ein Tropfschlauch angeschlossen.'}],
        ]
        createUserStates(basic_vars_speicherort, false, vars_ventil_1);}
        
        if(basic_vars_anzahl_ventile > 1) {
           let vars_ventil_2 = [
           //Ventil 2
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2', {'name':'ventil_2','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_dauer', {'name': 'ventil_2_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_dauer_in_min', {'name': 'ventil_2_dauer_in_min','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_ende', {'name':'ventil_2_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_fortschritt', {'name':'ventil_2_fortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_rest', {'name':'ventil_2_rest','type':'number','read':true,'write':false,'role':'number','def':100,'unit':'%','min':0,'max':100}],
           //[basic_vars_pfad+'.ventile.ventil_2.ventil_2_name', {'name':'ventil_2_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis2_name}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_restzeit', {'name':'ventil_2_restzeit','type': 'string','read':true,'write':false,'role':'string','def':'0:00','unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_restzeit_in_sek', {'name':'ventil_2_restzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_2.ventil_2_status', {'name':'ventil_2_status','type':'boolean','read':true,'write':false,'role':'switch','def':false}],
        ]
        createUserStates(basic_vars_speicherort, false, vars_ventil_2);}
        
        if(basic_vars_anzahl_ventile > 2) {
        let vars_ventil_3 = [
           //Ventil 3
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3', {'name':'ventil_3','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_dauer', {'name': 'ventil_3_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_dauer_in_min', {'name': 'ventil_3_dauer_in_min','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_ende', {'name':'ventil_3_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_fortschritt', {'name':'ventil_3_fortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_rest', {'name':'ventil_3_rest','type':'number','read':true,'write':false,'role':'number','def':100,'unit':'%','min':0,'max':100}],
           //[basic_vars_pfad+'.ventile.ventil_3.ventil_3_name', {'name':'ventil_3_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis3_name}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_restzeit', {'name':'ventil_3_restzeit','type': 'string','read':true,'write':false,'role':'string','def':'0:00','unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_restzeit_in_sek', {'name':'ventil_3_restzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_3.ventil_3_status', {'name':'ventil_3_status','type':'boolean','read':true,'write':false,'role':'switch','def':false}],	
        ]
        createUserStates(basic_vars_speicherort, false, vars_ventil_3);}
        
        if(basic_vars_anzahl_ventile > 3) {
           let vars_ventil_4 = [
           //Ventil 4
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4', {'name':'ventil_4','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_dauer', {'name': 'ventil_4_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_dauer_in_min', {'name': 'ventil_4_dauer_in_min','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_ende', {'name':'ventil_4_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_fortschritt', {'name':'ventil_4_fortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_rest', {'name':'ventil_4_rest','type':'number','read':true,'write':false,'role':'number','def':100,'unit':'%','min':0,'max':100}],
           //[basic_vars_pfad+'.ventile.ventil_4.ventil_4_name', {'name':'ventil_4_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis4_name}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_restzeit', {'name':'ventil_4_restzeit','type': 'string','read':true,'write':false,'role':'string','def':'0:00','unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_restzeit_in_sek', {'name':'ventil_4_restzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_4.ventil_4_status', {'name':'ventil_4_status','type':'boolean','read':true,'write':false,'role':'switch','def':false}],
        ]
        createUserStates(basic_vars_speicherort, false, vars_ventil_4);}
        
        if(basic_vars_anzahl_ventile > 4) {
           let vars_ventil_5 = [
           //Ventil 5
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5', {'name':'ventil_5','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_dauer', {'name': 'ventil_5_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_dauer_in_min', {'name': 'ventil_5_dauer_in_min','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_ende', {'name':'ventil_5_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_fortschritt', {'name':'ventil_5_fortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_rest', {'name':'ventil_5_rest','type':'number','read':true,'write':false,'role':'number','def':100,'unit':'%','min':0,'max':100}],
           //[basic_vars_pfad+'.ventile.ventil_5.ventil_5_name', {'name':'ventil_5_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis5_name}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_restzeit', {'name':'ventil_5_restzeit','type': 'string','read':true,'write':false,'role':'string','def':'0:00','unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_restzeit_in_sek', {'name':'ventil_5_restzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_5.ventil_5_status', {'name':'ventil_5_status','type':'boolean','read':true,'write':false,'role':'switch','def':false}],
        ]
        createUserStates(basic_vars_speicherort, false, vars_ventil_5);}
        
        if(basic_vars_anzahl_ventile > 5) {
           let vars_ventil_6 = [
           //Ventil 6
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6', {'name':'ventil_6','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_dauer', {'name': 'ventil_6_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_dauer_in_min', {'name': 'ventil_6_dauer_in_min','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_ende', {'name':'ventil_6_ende','type':'string','read':true,'write':false,'role':'string','def':'00:00','unit':'Uhr'}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_fortschritt', {'name':'ventil_6_fortschritt','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'%','min':0,'max':100}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_rest', {'name':'ventil_6_rest','type':'number','read':true,'write':false,'role':'number','def':100,'unit':'%','min':0,'max':100}],
           //[basic_vars_pfad+'.ventile.ventil_6.ventil_6_name', {'name':'ventil_6_name','type':'string','read':true,'write':false,'role':'string','def':basic_vars_kreis6_name}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_restzeit', {'name':'ventil_6_restzeit','type': 'string','read':true,'write':false,'role':'string','def':'0:00','unit':'Minuten'}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_restzeit_in_sek', {'name':'ventil_6_restzeit_in_sek','type':'number','read':true,'write':false,'role':'number','def':0,'unit':'Sekunden'}],
           [basic_vars_pfad+'.ventile.ventil_6.ventil_6_status', {'name':'ventil_6_status','type':'boolean','read':true,'write':false,'role':'switch','def':false}],
        ]
        createUserStates(basic_vars_speicherort, false, vars_ventil_6);}
        
        //Ab hier nicht benötigte Datenpunkte löschen
        //###############################################################################
        //Ventil 1 wieder löschen
        timeout = setTimeout(function () {
        
        if(basic_vars_anzahl_ventile < 1 && basic_vars_speicherort.slice(0, 10) == 'javascript') {
        const idsjs = $('javascript.*.'+[basic_vars_pfad]+'.ventile.ventil_1.*');
        idsjs.each(function(id, i) {
        if(existsState(id)) deleteState(id.substring(13));})};
        
        if(basic_vars_anzahl_ventile < 1 && basic_vars_speicherort.slice(0, 10) == '0_userdata') {
        const idsud = $('0_userdata.0.'+[basic_vars_pfad]+'.ventile.ventil_1.*');
        idsud.each(function(id, i) {
        if(existsState(id)) deleteState(id);})};
        
        //Ventil 2 wieder löschen
        if(basic_vars_anzahl_ventile < 2 && basic_vars_speicherort.slice(0, 10) == 'javascript') {
        const idsjs = $('javascript.*.'+[basic_vars_pfad]+'.ventile.ventil_2.*');
        idsjs.each(function(id, i) {
        if(existsState(id)) deleteState(id.substring(13));})};
        
        if(basic_vars_anzahl_ventile < 2 && basic_vars_speicherort.slice(0, 10) == '0_userdata') {
        const idsud = $('0_userdata.0.'+[basic_vars_pfad]+'.ventile.ventil_2.*');
        idsud.each(function(id, i) {
        if(existsState(id)) deleteState(id);})};
        
        //Ventil 3 wieder löschen
        if(basic_vars_anzahl_ventile < 3 && basic_vars_speicherort.slice(0, 10) == 'javascript') {
        const idsjs = $('javascript.*.'+[basic_vars_pfad]+'.ventile.ventil_3.*');
        idsjs.each(function(id, i) {
        if(existsState(id)) deleteState(id.substring(13));})};
        
        if(basic_vars_anzahl_ventile < 3 && basic_vars_speicherort.slice(0, 10) == '0_userdata') {
        const idsud = $('0_userdata.0.'+[basic_vars_pfad]+'.ventile.ventil_3.*');
        idsud.each(function(id, i) {
        if(existsState(id)) deleteState(id);})};
        
        //Ventil 4 wieder löschen
        if(basic_vars_anzahl_ventile < 4 && basic_vars_speicherort.slice(0, 10) == 'javascript') {
        const idsjs = $('javascript.*.'+[basic_vars_pfad]+'.ventile.ventil_4.*');
        idsjs.each(function(id, i) {
        if(existsState(id)) deleteState(id.substring(13));})};
        
        if(basic_vars_anzahl_ventile < 4 && basic_vars_speicherort.slice(0, 10) == '0_userdata') {
        const idsud = $('0_userdata.0.'+[basic_vars_pfad]+'.ventile.ventil_4.*');
        idsud.each(function(id, i) {
        if(existsState(id)) deleteState(id);})};
        
        //Ventil 5 wieder löschen
        if(basic_vars_anzahl_ventile < 5 && basic_vars_speicherort.slice(0, 10) == 'javascript') {
        const idsjs = $('javascript.*.'+[basic_vars_pfad]+'.ventile.ventil_5.*');
        idsjs.each(function(id, i) {
        if(existsState(id)) deleteState(id.substring(13));})};
        
        if(basic_vars_anzahl_ventile < 5 && basic_vars_speicherort.slice(0, 10) == '0_userdata') {
        const idsud = $('0_userdata.0.'+[basic_vars_pfad]+'.ventile.ventil_5.*');
        idsud.each(function(id, i) {
        if(existsState(id)) deleteState(id);})};
        
        //Ventil 6 wieder löschen
        if(basic_vars_anzahl_ventile < 6 && basic_vars_speicherort.slice(0, 10) == 'javascript') {
        const idsjs = $('javascript.*.'+[basic_vars_pfad]+'.ventile.ventil_6.*');
        idsjs.each(function(id, i) {
        if(existsState(id)) deleteState(id.substring(13));})};
        
        if(basic_vars_anzahl_ventile < 6 && basic_vars_speicherort.slice(0, 10) == '0_userdata') {
        const idsud = $('0_userdata.0.'+[basic_vars_pfad]+'.ventile.ventil_6.*');
        idsud.each(function(id, i) {
        if(existsState(id)) deleteState(id);})};
        }, 5000);
        //###############################################################################
        
        //Funktion main mit Verzögerung aufrufen
        timeout = setTimeout(function () {
           Variablen_definieren();
        }, 5000);
        

        1 Antwort Letzte Antwort
        1
        • K Kuddel

          @sigi234 ich meine ja. aber würde ich auf jeden fall morgen noch einmal testen

          meine aktuelle v2.6.8

          bewaesserung_v2.6.8.zip

          sigi234S Online
          sigi234S Online
          sigi234
          Forum Testing Most Active
          schrieb am zuletzt editiert von sigi234
          #294

          @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

          @sigi234 ich meine ja. aber würde ich auf jeden fall morgen noch einmal testen

          meine aktuelle v2.6.8

          Test:

          javascript.0	2020-07-23 21:36:15.275	warn	(25464) You are assigning a object to the state "javascript.0.bewaesserung.ventile.ventil_6.ventil_6_restzeit_in_sek" which expects a number. Please fix your code to use a number or change the state
          

          RAW:

          {
            "from": "system.adapter.javascript.0",
            "user": "system.user.admin",
            "ts": 1595360262144,
            "common": {
              "name": "ventil_6_restzeit_in_sek",
              "type": "number",
              "role": "number",
              "unit": "Sekunden",
              "def": 0,
              "read": true,
              "write": true
            },
            "native": {},
            "acl": {
              "object": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator",
              "state": 1636
            },
            "_id": "javascript.0.bewaesserung.ventile.ventil_6.ventil_6_restzeit_in_sek",
            "type": "state"
          }
          

          Ventil 6 geht statt 1 Minute auf 1 Sekunde

          Screenshot (271)_LI.jpg

          Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
          Immer Daten sichern!

          K 1 Antwort Letzte Antwort
          0
          • sigi234S sigi234

            @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

            @sigi234 ich meine ja. aber würde ich auf jeden fall morgen noch einmal testen

            meine aktuelle v2.6.8

            Test:

            javascript.0	2020-07-23 21:36:15.275	warn	(25464) You are assigning a object to the state "javascript.0.bewaesserung.ventile.ventil_6.ventil_6_restzeit_in_sek" which expects a number. Please fix your code to use a number or change the state
            

            RAW:

            {
              "from": "system.adapter.javascript.0",
              "user": "system.user.admin",
              "ts": 1595360262144,
              "common": {
                "name": "ventil_6_restzeit_in_sek",
                "type": "number",
                "role": "number",
                "unit": "Sekunden",
                "def": 0,
                "read": true,
                "write": true
              },
              "native": {},
              "acl": {
                "object": 1636,
                "owner": "system.user.admin",
                "ownerGroup": "system.group.administrator",
                "state": 1636
              },
              "_id": "javascript.0.bewaesserung.ventile.ventil_6.ventil_6_restzeit_in_sek",
              "type": "state"
            }
            

            Ventil 6 geht statt 1 Minute auf 1 Sekunde

            Screenshot (271)_LI.jpg

            K Offline
            K Offline
            Kuddel
            schrieb am zuletzt editiert von
            #295

            @sigi234 danke für die Rückmeldung. Versuche ich heute vormittag nochmal zu testen

            1 Antwort Letzte Antwort
            0
            • K Offline
              K Offline
              Kuddel
              schrieb am zuletzt editiert von
              #296

              @sigi234

              Bei mir funktioniert Ventil 6 (Shelly) fehlerfrei

              8ba721aa-1c12-4dd6-a5db-19c4251084b0-grafik.png

              Hast du es merhfach versucht ?

              sigi234S 1 Antwort Letzte Antwort
              0
              • K Kuddel

                @sigi234

                Bei mir funktioniert Ventil 6 (Shelly) fehlerfrei

                8ba721aa-1c12-4dd6-a5db-19c4251084b0-grafik.png

                Hast du es merhfach versucht ?

                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #297

                @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                Hast du es merhfach versucht ?

                Ja

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                K 1 Antwort Letzte Antwort
                0
                • sigi234S sigi234

                  @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                  Hast du es merhfach versucht ?

                  Ja

                  K Offline
                  K Offline
                  Kuddel
                  schrieb am zuletzt editiert von
                  #298

                  @sigi234 habe gerade die erweiterung von @dslraser zum löschen der nicht mehr benötigten DPs eingebaut.

                  • Anzahl Ventile auf 5 geändert
                  • Alle DPs für Ventil 6 wurden gelöscht
                  • Anzahl Ventile auf 6 geändert
                  • Alle DPs für Ventil 6 wurden erstellt
                  • Dauer Ventil 6 auf 5 Minuten gestellt
                  • Bewässerung manuell gestartet

                  424fdb2e-a476-4cfe-a482-15326efbf7c5-grafik.png

                  378d6737-783c-46ba-bece-930ca65dab6b-grafik.png

                  sigi234S 1 Antwort Letzte Antwort
                  0
                  • K Kuddel

                    @sigi234 habe gerade die erweiterung von @dslraser zum löschen der nicht mehr benötigten DPs eingebaut.

                    • Anzahl Ventile auf 5 geändert
                    • Alle DPs für Ventil 6 wurden gelöscht
                    • Anzahl Ventile auf 6 geändert
                    • Alle DPs für Ventil 6 wurden erstellt
                    • Dauer Ventil 6 auf 5 Minuten gestellt
                    • Bewässerung manuell gestartet

                    424fdb2e-a476-4cfe-a482-15326efbf7c5-grafik.png

                    378d6737-783c-46ba-bece-930ca65dab6b-grafik.png

                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #299

                    @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                    abe gerade die erweiterung von @dslraser zum löschen der nicht mehr benötigten DPs eingebaut.

                    Schon aktuell in bewaesserung_v2.6.8.zip ?

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    K 1 Antwort Letzte Antwort
                    0
                    • sigi234S sigi234

                      @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                      abe gerade die erweiterung von @dslraser zum löschen der nicht mehr benötigten DPs eingebaut.

                      Schon aktuell in bewaesserung_v2.6.8.zip ?

                      K Offline
                      K Offline
                      Kuddel
                      schrieb am zuletzt editiert von
                      #300

                      @sigi234 bewaesserung_v2.6.9.zip

                      sigi234S 1 Antwort Letzte Antwort
                      0
                      • K Kuddel

                        @sigi234 bewaesserung_v2.6.9.zip

                        sigi234S Online
                        sigi234S Online
                        sigi234
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von sigi234
                        #301

                        @Kuddel

                        Irgendwas stimmt nicht bei mir.

                        Screenshot (275)_LI.jpg

                        Screenshot (277).png

                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Immer Daten sichern!

                        K dslraserD 2 Antworten Letzte Antwort
                        0
                        • sigi234S sigi234

                          @Kuddel

                          Irgendwas stimmt nicht bei mir.

                          Screenshot (275)_LI.jpg

                          Screenshot (277).png

                          K Offline
                          K Offline
                          Kuddel
                          schrieb am zuletzt editiert von Kuddel
                          #302

                          @sigi234 das sieht irgendwie komisch aus.

                          meine VIS hast du 1 zu 1 importiert ?

                          das z.b. bei der dauer bei 1 min als wert 60 gesendet wird ?

                          Vllt. stellst du mir dein Skript mal zur Verfügung ? Ich würde das bei mir mal laufen lassen

                          sigi234S 2 Antworten Letzte Antwort
                          0
                          • K Kuddel

                            @sigi234 das sieht irgendwie komisch aus.

                            meine VIS hast du 1 zu 1 importiert ?

                            das z.b. bei der dauer bei 1 min als wert 60 gesendet wird ?

                            Vllt. stellst du mir dein Skript mal zur Verfügung ? Ich würde das bei mir mal laufen lassen

                            sigi234S Online
                            sigi234S Online
                            sigi234
                            Forum Testing Most Active
                            schrieb am zuletzt editiert von
                            #303

                            @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                            Vllt. stellst du mir dein Skript mal zur Verfügung ? Ich würde das bei mir mal laufen lassen

                            Blockly_Kuddel_Bewaesserung_sigi234.zip

                            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                            Immer Daten sichern!

                            1 Antwort Letzte Antwort
                            0
                            • sigi234S sigi234

                              @Kuddel

                              Irgendwas stimmt nicht bei mir.

                              Screenshot (275)_LI.jpg

                              Screenshot (277).png

                              dslraserD Offline
                              dslraserD Offline
                              dslraser
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von dslraser
                              #304

                              @sigi234
                              hast Du mal alle "alten" Datenpunkte gelöscht und durch das Blockly neu erstellen lassen ?
                              Es wird so einiges in Admin und JS gepuffert. Die JS Instanz mal neu starten kann auch nicht schaden.
                              Die Admin Instanz auch mal neu starten.

                              Achtung, Admin nicht stoppen, nur neu starten mit dem Pfeilkreis, sonst sperrst Du Dich selbst aus und musst den Admin über die Konsole neu starten.

                              Ob VIS States bzw. den Inhalt puffert weiß ich nicht, ich habe kein VIS.

                              sigi234S 1 Antwort Letzte Antwort
                              0
                              • dslraserD dslraser

                                @sigi234
                                hast Du mal alle "alten" Datenpunkte gelöscht und durch das Blockly neu erstellen lassen ?
                                Es wird so einiges in Admin und JS gepuffert. Die JS Instanz mal neu starten kann auch nicht schaden.
                                Die Admin Instanz auch mal neu starten.

                                Achtung, Admin nicht stoppen, nur neu starten mit dem Pfeilkreis, sonst sperrst Du Dich selbst aus und musst den Admin über die Konsole neu starten.

                                Ob VIS States bzw. den Inhalt puffert weiß ich nicht, ich habe kein VIS.

                                sigi234S Online
                                sigi234S Online
                                sigi234
                                Forum Testing Most Active
                                schrieb am zuletzt editiert von
                                #305

                                @dslraser sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                                @sigi234
                                hast Du mal alle "alte"n Datenpunkte gelöscht und durch das Blockly neu erstellen lassen ?

                                Ja

                                Es wird so einiges in Admin und JS gepuffert. Die JS Instanz mal neu starten kann auch nicht schaden.
                                Die Admin Instanz auch mal neu starten.

                                Ja

                                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                Immer Daten sichern!

                                1 Antwort Letzte Antwort
                                0
                                • K Kuddel

                                  @sigi234 das sieht irgendwie komisch aus.

                                  meine VIS hast du 1 zu 1 importiert ?

                                  das z.b. bei der dauer bei 1 min als wert 60 gesendet wird ?

                                  Vllt. stellst du mir dein Skript mal zur Verfügung ? Ich würde das bei mir mal laufen lassen

                                  sigi234S Online
                                  sigi234S Online
                                  sigi234
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #306

                                  @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                                  meine VIS hast du 1 zu 1 importiert ?

                                  Ja, aber Ventil 5 kopiert und auf 6 angepasst.

                                  Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                  Immer Daten sichern!

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • sigi234S sigi234

                                    @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                                    meine VIS hast du 1 zu 1 importiert ?

                                    Ja, aber Ventil 5 kopiert und auf 6 angepasst.

                                    K Offline
                                    K Offline
                                    Kuddel
                                    schrieb am zuletzt editiert von
                                    #307

                                    @sigi234

                                    • dein Skript importiert
                                    • Meine DPs alle gelöscht
                                    • DPs neu erstellt
                                    • Deine Aktoren geändert
                                    • Alle Ventile auf Dauer 1 min gestellt
                                    • Lief alles problemlos ohne Fehler durch
                                    sigi234S 1 Antwort Letzte Antwort
                                    0
                                    • K Kuddel

                                      @sigi234

                                      • dein Skript importiert
                                      • Meine DPs alle gelöscht
                                      • DPs neu erstellt
                                      • Deine Aktoren geändert
                                      • Alle Ventile auf Dauer 1 min gestellt
                                      • Lief alles problemlos ohne Fehler durch
                                      sigi234S Online
                                      sigi234S Online
                                      sigi234
                                      Forum Testing Most Active
                                      schrieb am zuletzt editiert von sigi234
                                      #308

                                      @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                                      Deine Aktoren geändert

                                      Ev. liegt es daran weil ich nur Virtuelle DP habe.

                                      Screenshot (279).png

                                      Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                                      Immer Daten sichern!

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • sigi234S sigi234

                                        @Kuddel sagte in [Vorlage] Gartenbewässerung mit 6 Ventilen:

                                        Deine Aktoren geändert

                                        Ev. liegt es daran weil ich nur Virtuelle DP habe.

                                        Screenshot (279).png

                                        K Offline
                                        K Offline
                                        Kuddel
                                        schrieb am zuletzt editiert von
                                        #309

                                        @sigi234 kannst du zum testen mal die direkten States angeben?

                                        sigi234S 1 Antwort Letzte Antwort
                                        0
                                        • K Kuddel

                                          @Andreas-K ich würde dein Skript etwas anders bauen:

                                          71b2da07-826f-4b07-84c6-09878909acb2-grafik.png

                                          Export vom Blockly

                                          <xml xmlns="https://developers.google.com/blockly/xml">
                                           <block type="on_ext" id="Q5P+Zic4T@]CO+Ab$w_G" x="138" y="-462">
                                             <mutation xmlns="http://www.w3.org/1999/xhtml" items="4"></mutation>
                                             <field name="CONDITION">ne</field>
                                             <field name="ACK_CONDITION"></field>
                                             <value name="OID0">
                                               <shadow type="field_oid" id="e/j=.M`c53,xyJNN)[hr">
                                                 <field name="oid">default</field>
                                               </shadow>
                                             </value>
                                             <value name="OID1">
                                               <shadow type="field_oid" id="7#,G|1,f8TEMV4k*/WU~">
                                                 <field name="oid">default</field>
                                               </shadow>
                                             </value>
                                             <value name="OID2">
                                               <shadow type="field_oid" id="w.+|0|vz])=,U[{qo9Ai">
                                                 <field name="oid">default</field>
                                               </shadow>
                                             </value>
                                             <value name="OID3">
                                               <shadow type="field_oid" id="(HccMWUrH?`Z;N?7:a3`">
                                                 <field name="oid">default</field>
                                               </shadow>
                                             </value>
                                             <statement name="STATEMENT">
                                               <block type="comment" id="a=hZ/?U]NTl$fs/9fkeG">
                                                 <field name="COMMENT">Rasenflaeche klein</field>
                                                 <next>
                                                   <block type="controls_if" id="v)rN6GYitPVL[7GvXm@r">
                                                     <mutation elseif="1"></mutation>
                                                     <value name="IF0">
                                                       <block type="logic_compare" id="K{B,[1]_v|=3O`4Kt=2.">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="s|jjx]:;SQIeAj;gBO`]">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="+?i}.g[F:aRY|4bLw+Vo">
                                                             <field name="BOOL">TRUE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO0">
                                                       <block type="request" id="+T,Aza[)udu)uPl$U+=V">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                         <field name="WITH_STATEMENT">FALSE</field>
                                                         <field name="LOG"></field>
                                                         <value name="URL">
                                                           <shadow type="text" id="=lV)]]o^Apb0(,1MlQj~">
                                                             <field name="TEXT">text</field>
                                                           </shadow>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                     <value name="IF1">
                                                       <block type="logic_compare" id="m$E8nA5)T[p4MI:sPgJX">
                                                         <field name="OP">EQ</field>
                                                         <value name="A">
                                                           <block type="get_value" id="Bq+(y0@sY5OzZ,jnfYxs">
                                                             <field name="ATTR">val</field>
                                                             <field name="OID">ID auswählen</field>
                                                           </block>
                                                         </value>
                                                         <value name="B">
                                                           <block type="logic_boolean" id="@gtgZQ`e#E6nuvl.0[jQ">
                                                             <field name="BOOL">FALSE</field>
                                                           </block>
                                                         </value>
                                                       </block>
                                                     </value>
                                                     <statement name="DO1">
                                                       <block type="request" id="1i;iHNe8$e?Ev,jS2.0P">
                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                         <field name="WITH_STATEMENT">FALSE</field>
                                                         <field name="LOG"></field>
                                                         <value name="URL">
                                                           <shadow type="text" id="63-elMK(~OtMQL7biM/m">
                                                             <field name="TEXT">text</field>
                                                           </shadow>
                                                         </value>
                                                       </block>
                                                     </statement>
                                                     <next>
                                                       <block type="comment" id="7|Hx}1z,,lSp:+SGy,[a">
                                                         <field name="COMMENT">Rasenflaeche rechts</field>
                                                         <next>
                                                           <block type="controls_if" id="WyJD2tjnlUR|-^L#[;j(">
                                                             <mutation elseif="1"></mutation>
                                                             <value name="IF0">
                                                               <block type="logic_compare" id="[[-I,4zz@,%1fE|Ic9Wl">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="hVNp_UPm}mJg]e:^Saj6">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="=}rT_|YszaV#S)w2{WA/">
                                                                     <field name="BOOL">TRUE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO0">
                                                               <block type="request" id="Gp9*oY/K-/(XYB9HLO$6">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                                 <field name="WITH_STATEMENT">FALSE</field>
                                                                 <field name="LOG"></field>
                                                                 <value name="URL">
                                                                   <shadow type="text" id="rfaTWG-o`L`dVa^U6QR1">
                                                                     <field name="TEXT">text</field>
                                                                   </shadow>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <value name="IF1">
                                                               <block type="logic_compare" id="(y!k_iBxk.Rk1#OQ]f!H">
                                                                 <field name="OP">EQ</field>
                                                                 <value name="A">
                                                                   <block type="get_value" id="lXIXrU9iG9vTK^IL%H.8">
                                                                     <field name="ATTR">val</field>
                                                                     <field name="OID">ID auswählen</field>
                                                                   </block>
                                                                 </value>
                                                                 <value name="B">
                                                                   <block type="logic_boolean" id="zB*A1l[TLSm/YEmtO$Sh">
                                                                     <field name="BOOL">FALSE</field>
                                                                   </block>
                                                                 </value>
                                                               </block>
                                                             </value>
                                                             <statement name="DO1">
                                                               <block type="request" id="%)s1+[qD2VWf4ZV!/UBL">
                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                                 <field name="WITH_STATEMENT">FALSE</field>
                                                                 <field name="LOG"></field>
                                                                 <value name="URL">
                                                                   <shadow type="text" id="4=6Q#JpQ.@hwqCUT:dT-">
                                                                     <field name="TEXT">text</field>
                                                                   </shadow>
                                                                 </value>
                                                               </block>
                                                             </statement>
                                                             <next>
                                                               <block type="comment" id="q9hYCLF[|d5AK_=yJ=Z0">
                                                                 <field name="COMMENT">Tropfschlauch</field>
                                                                 <next>
                                                                   <block type="controls_if" id="A?9-M9Ei5G_~KB}$Tu6(">
                                                                     <mutation elseif="1"></mutation>
                                                                     <value name="IF0">
                                                                       <block type="logic_compare" id="oe,_rBq$`B1BDlpM42G@">
                                                                         <field name="OP">EQ</field>
                                                                         <value name="A">
                                                                           <block type="get_value" id="+,K-|(|lD[0Tlxf^dKu|">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">ID auswählen</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="logic_boolean" id="iC-ZxAuT(m|StUD#sCAl">
                                                                             <field name="BOOL">TRUE</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO0">
                                                                       <block type="request" id="6oB?7=]]5XoMg:k@uz@,">
                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                                         <field name="WITH_STATEMENT">FALSE</field>
                                                                         <field name="LOG"></field>
                                                                         <value name="URL">
                                                                           <shadow type="text" id="xsnndQV?vyI$c*2G}s$k">
                                                                             <field name="TEXT">text</field>
                                                                           </shadow>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                     <value name="IF1">
                                                                       <block type="logic_compare" id="4UKEBC1y7l6SfwtPstF,">
                                                                         <field name="OP">EQ</field>
                                                                         <value name="A">
                                                                           <block type="get_value" id="91hMxyJ~ObWVj(|g6u}R">
                                                                             <field name="ATTR">val</field>
                                                                             <field name="OID">ID auswählen</field>
                                                                           </block>
                                                                         </value>
                                                                         <value name="B">
                                                                           <block type="logic_boolean" id="An3$@r$fG@X9+4YBJ|u1">
                                                                             <field name="BOOL">FALSE</field>
                                                                           </block>
                                                                         </value>
                                                                       </block>
                                                                     </value>
                                                                     <statement name="DO1">
                                                                       <block type="request" id="d[_/}g$9|f5lK1%3cgGr">
                                                                         <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                                         <field name="WITH_STATEMENT">FALSE</field>
                                                                         <field name="LOG"></field>
                                                                         <value name="URL">
                                                                           <shadow type="text" id="iUn:}o_$D3ZKYOVuJ2x1">
                                                                             <field name="TEXT">text</field>
                                                                           </shadow>
                                                                         </value>
                                                                       </block>
                                                                     </statement>
                                                                     <next>
                                                                       <block type="comment" id="p{;X_ts(t#z9BYn}tmJI">
                                                                         <field name="COMMENT">Rasenflaeche links</field>
                                                                         <next>
                                                                           <block type="controls_if" id="tFS-4KxkL37]H}f~^:qC">
                                                                             <mutation elseif="1"></mutation>
                                                                             <value name="IF0">
                                                                               <block type="logic_compare" id="o7pUruV%bASDOdP!|)Oa">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="get_value" id="yt4r}`5oJh7;JGxr`nWW">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="logic_boolean" id="bd:7Qer|WqwmkLZSk;Ph">
                                                                                     <field name="BOOL">TRUE</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <statement name="DO0">
                                                                               <block type="request" id="cu?`XX]r_2=2F`m]IxsY">
                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                                                 <field name="WITH_STATEMENT">FALSE</field>
                                                                                 <field name="LOG"></field>
                                                                                 <value name="URL">
                                                                                   <shadow type="text" id="(Sc#?u^~7X4@McUiam8H">
                                                                                     <field name="TEXT">text</field>
                                                                                   </shadow>
                                                                                 </value>
                                                                               </block>
                                                                             </statement>
                                                                             <value name="IF1">
                                                                               <block type="logic_compare" id="{]V=l$m3dS=#.$4o+(g?">
                                                                                 <field name="OP">EQ</field>
                                                                                 <value name="A">
                                                                                   <block type="get_value" id="t0*J3^N;*py|)[]B+f$.">
                                                                                     <field name="ATTR">val</field>
                                                                                     <field name="OID">ID auswählen</field>
                                                                                   </block>
                                                                                 </value>
                                                                                 <value name="B">
                                                                                   <block type="logic_boolean" id="xNQjD`X@RhXwKE~96|6~">
                                                                                     <field name="BOOL">FALSE</field>
                                                                                   </block>
                                                                                 </value>
                                                                               </block>
                                                                             </value>
                                                                             <statement name="DO1">
                                                                               <block type="request" id="6DsAfT[`x-oOTb],-m-G">
                                                                                 <mutation xmlns="http://www.w3.org/1999/xhtml" with_statement="false"></mutation>
                                                                                 <field name="WITH_STATEMENT">FALSE</field>
                                                                                 <field name="LOG"></field>
                                                                                 <value name="URL">
                                                                                   <shadow type="text" id="g%Pg[{F|uRET8aE:^}61">
                                                                                     <field name="TEXT">text</field>
                                                                                   </shadow>
                                                                                 </value>
                                                                               </block>
                                                                             </statement>
                                                                           </block>
                                                                         </next>
                                                                       </block>
                                                                     </next>
                                                                   </block>
                                                                 </next>
                                                               </block>
                                                             </next>
                                                           </block>
                                                         </next>
                                                       </block>
                                                     </next>
                                                   </block>
                                                 </next>
                                               </block>
                                             </statement>
                                           </block>
                                          </xml>
                                          

                                          Oben im roten Trigger musst du jetzt deine vier selbst erstellten Datenpunkte eintragen

                                          Bei "ID auswählen" müssen ebenfalls die DPs rein.

                                          Die DPs musst du in meinem Skript an folgender Stelle eintragen:

                                          3644b99f-ddcd-4524-8f16-636c49088fee-grafik.png

                                          Bitte den kompletten Pfad verwenden

                                          Andreas KA Offline
                                          Andreas KA Offline
                                          Andreas K
                                          schrieb am zuletzt editiert von
                                          #310

                                          @Kuddel Danke, für deine Hilfe....
                                          Es wäre so einfach gewesen :/
                                          Aber dafür hab ich`s jetzt gut erklärt bekommen.
                                          DANKE DANKE DANKE!

                                          Gruss Andi

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          674

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe