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

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

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

[Vorlage] Gartenbewässerung mit 4 Ventilen

Geplant Angeheftet Gesperrt Verschoben Blockly
415 Beiträge 22 Kommentatoren 79.7k Aufrufe 36 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.
  • dslraserD dslraser

    @Kuddel
    ich habe mal Deine DP bearbeitet, schau mal ob es so passt.

    <xml xmlns="http://www.w3.org/1999/xhtml">
     <block type="procedures_defcustomnoreturn" id="D:0E=~0D8*EFnn8f|sd." x="13" y="13">
       <mutation statements="false"></mutation>
       <field name="NAME">Datenpunkte_erstellen</field>
       <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwoKLyoqCiogSGllciBiaXR0ZSBkZW4gU3BlaWNoZXJvcnQgdW5kIGRlbiBQZmFkIGVpbnRyYWdlbgoqIEJlaXNwaWVsZTogCgoJc3BlaWNoZXJvcnQgPSAnMF91c2VyZGF0YS4wLicKCXNwZWljaGVyb3J0ID0gJ2phdmFzY3JpcHQuMCcKCQoJcGZhZCA9ICdiZXdhc3NlcnVuZy4nCglwZmFkID0gJ0dhcmRlbmEuQmV3YWVzc2VydW5nLicKCiovCnNwZWljaGVyb3J0ID0gJ2phdmFzY3JpcHQuMCcKcGZhZCA9ICdiZXdhZXNzZXJ1bmcuJwoKCmZ1bmN0aW9uIGNyZWF0ZVVzZXJTdGF0ZXMod2hlcmUsIGZvcmNlLCBzdGF0ZXNUb0NyZWF0ZSwgY2FsbGJhY2sgPSB1bmRlZmluZWQpIHsKICAgIAogICAgY29uc3QgV0FSTiA9IGZhbHNlOyAvLyBPbmx5IGZvciAwX3VzZXJkYXRhLjA6IFRocm93cyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgZm9yY2U9ZmFsc2UuIERlZmF1bHQgaXMgZmFsc2UsIHNvIG5vIHdhcm5pbmcgaW4gbG9nLCBpZiBzdGF0ZSBleGlzdHMuCiAgICBjb25zdCBMT0dfREVCVUcgPSBmYWxzZTsgLy8gVG8gZGVidWcgdGhpcyBmdW5jdGlvbiwgc2V0IHRvIHRydWUKICAgIC8vIFBlciBpc3N1ZSAjNDc0IChodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc0KSwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgZXhlY3V0ZXMgdGhlIGNhbGxiYWNrIAogICAgLy8gYmVmb3JlIHRoZSBzdGF0ZSBpcyBhY3R1YWwgY3JlYXRlZC4gVGhlcmVmb3JlLCB3ZSB1c2UgYSBzZXRUaW1lb3V0IGFuZCBjb3VudGVyIGFzIGEgd29ya2Fyb3VuZC4KICAgIGNvbnN0IERFTEFZID0gNTA7IC8vIERlbGF5IGluIG1pbGxpc2Vjb25kcyAobXMpLiBJbmNyZWFzZSB0aGlzIHRvIDEwMCwgaWYgaXQgaXMgbm90IHdvcmtpbmcuCgogICAgLy8gVmFsaWRhdGUgIndoZXJlIgogICAgaWYgKHdoZXJlLmVuZHNXaXRoKCcuJykpIHdoZXJlID0gd2hlcmUuc2xpY2UoMCwgLTEpOyAvLyBSZW1vdmUgdHJhaWxpbmcgZG90CiAgICBpZiAoICh3aGVyZS5tYXRjaCgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pKSR8MF91c2VyZGF0YVwuMCQpLykgPT0gbnVsbCkgKSB7CiAgICAgICAgbG9nKCdUaGlzIHNjcmlwdCBkb2VzIG5vdCBzdXBwb3J0IHRvIGNyZWF0ZSBzdGF0ZXMgdW5kZXIgWycgKyB3aGVyZSArICddJywgJ2Vycm9yJyk7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIC8vIFByZXBhcmUgInN0YXRlc1RvQ3JlYXRlIiBzaW5jZSB3ZSBhbHNvIGFsbG93IGEgc2luZ2xlIHN0YXRlIHRvIGNyZWF0ZQogICAgaWYoIUFycmF5LmlzQXJyYXkoc3RhdGVzVG9DcmVhdGVbMF0pKSBzdGF0ZXNUb0NyZWF0ZSA9IFtzdGF0ZXNUb0NyZWF0ZV07IC8vIHdyYXAgaW50byBhcnJheSwgaWYganVzdCBvbmUgYXJyYXkgYW5kIG5vdCBpbnNpZGUgYW4gYXJyYXkKCiAgICAvLyBBZGQgIndoZXJlIiB0byBTVEFURVNfVE9fQ1JFQVRFCiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgbGV0IGxwUGF0aCA9IHN0YXRlc1RvQ3JlYXRlW2ldWzBdLnJlcGxhY2UoL1wuKlwuL2csICcuJyk7IC8vIHJlcGxhY2UgYWxsIG11bHRpcGxlIGRvdHMgbGlrZSAnLi4nLCAnLi4uJyB3aXRoIGEgc2luZ2xlICcuJwogICAgICAgIGxwUGF0aCA9IGxwUGF0aC5yZXBsYWNlKC9eKChqYXZhc2NyaXB0XC4oWzEtOV1bMC05XXxbMC05XSlcLil8MF91c2VyZGF0YVwuMFwuKS8sJycpIC8vIHJlbW92ZSBhbnkgamF2YXNjcmlwdC54LiAvIDBfdXNlcmRhdGEuMC4gZnJvbSBiZWdpbm5pbmcKICAgICAgICBscFBhdGggPSB3aGVyZSArICcuJyArIGxwUGF0aDsgLy8gYWRkIHdoZXJlIHRvIGJlZ2lubmluZyBvZiBzdHJpbmcKICAgICAgICBzdGF0ZXNUb0NyZWF0ZVtpXVswXSA9IGxwUGF0aDsKICAgIH0KCiAgICBpZiAod2hlcmUgIT0gJzBfdXNlcmRhdGEuMCcpIHsKICAgICAgICAvLyBDcmVhdGUgU3RhdGVzIHVuZGVyIGphdmFzY3JpcHQueAogICAgICAgIGxldCBudW1TdGF0ZXMgPSBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7CiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgbGV0IGxvb3BJbml0ID0gKGxvb3BQYXJhbVsxXVsnZGVmJ10gPT0gdW5kZWZpbmVkKSA/IG51bGwgOiBsb29wUGFyYW1bMV1bJ2RlZiddOyAvLyBtaW1pYyBzYW1lIGJlaGF2aW9yIGFzIGNyZWF0ZVN0YXRlIGlmIG5vIGluaXQgdmFsdWUgaXMgcHJvdmlkZWQKICAgICAgICAgICAgY3JlYXRlU3RhdGUobG9vcFBhcmFtWzBdLCBsb29wSW5pdCwgZm9yY2UsIGxvb3BQYXJhbVsxXSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0gZWxzZSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciAwX3VzZXJkYXRhLjAKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIGxldCBjb3VudGVyID0gLTE7CiAgICAgICAgc3RhdGVzVG9DcmVhdGUuZm9yRWFjaChmdW5jdGlvbihsb29wUGFyYW0pIHsKICAgICAgICAgICAgY291bnRlciArPSAxOwogICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2cgKCdbRGVidWddIEN1cnJlbnRseSBwcm9jZXNzaW5nIGZvbGxvd2luZyBzdGF0ZTogWycgKyBsb29wUGFyYW1bMF0gKyAnXScpOwogICAgICAgICAgICBpZiggKCQobG9vcFBhcmFtWzBdKS5sZW5ndGggPiAwKSAmJiAoZXhpc3RzU3RhdGUobG9vcFBhcmFtWzBdKSkgKSB7IC8vIFdvcmthcm91bmQgZHVlIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9pb0Jyb2tlci9pb0Jyb2tlci5qYXZhc2NyaXB0L2lzc3Vlcy80NzgKICAgICAgICAgICAgICAgIC8vIFN0YXRlIGlzIGV4aXN0aW5nLgogICAgICAgICAgICAgICAgaWYgKFdBUk4gJiYgIWZvcmNlKSBsb2coJ1N0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZyBhbmQgd2lsbCBubyBsb25nZXIgYmUgY3JlYXRlZC4nLCAnd2FybicpOwogICAgICAgICAgICAgICAgaWYgKCFXQVJOICYmIExPR19ERUJVRykgbG9nKCdbRGVidWddIFN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10gaXMgYWxyZWFkeSBleGlzdGluZy4gT3B0aW9uIGZvcmNlICg9b3ZlcndyaXRlKSBpcyBzZXQgdG8gWycgKyBmb3JjZSArICddLicpOwogICAgICAgICAgICAgICAgaWYoIWZvcmNlKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gU3RhdGUgZXhpc3RzIGFuZCBzaGFsbCBub3QgYmUgb3ZlcndyaXR0ZW4gc2luY2UgZm9yY2U9ZmFsc2UKICAgICAgICAgICAgICAgICAgICAvLyBTbywgd2UgZG8gbm90IHByb2NlZWQuCiAgICAgICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBzdWNjZXNzZnVsbHkgcHJvY2Vzc2VkIScpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQW4gb3B0aW9uYWwgY2FsbGJhY2sgZnVuY3Rpb24gd2FzIHByb3ZpZGVkLCB3aGljaCB3ZSBhcmUgZ29pbmcgdG8gZXhlY3V0ZSBub3cuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZ28gb3V0IGFuZCBjb250aW51ZSB3aXRoIG5leHQgZWxlbWVudCBpbiBsb29wLgogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47IC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzE4NDUyOTIwL2NvbnRpbnVlLWluLWN1cnNvci1mb3JlYWNoCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSAvLyBpZighZm9yY2UpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIFN0YXRlIGlzIG5vdCBleGlzdGluZyBvciBmb3JjZSA9IHRydWUsIHNvIHdlIGFyZSBjb250aW51aW5nIHRvIGNyZWF0ZSB0aGUgc3RhdGUgdGhyb3VnaCBzZXRPYmplY3QoKS4KICAgICAgICAgICAgbGV0IG9iaiA9IHt9OwogICAgICAgICAgICBvYmoudHlwZSA9ICdzdGF0ZSc7CiAgICAgICAgICAgIG9iai5uYXRpdmUgPSB7fTsKICAgICAgICAgICAgb2JqLmNvbW1vbiA9IGxvb3BQYXJhbVsxXTsKICAgICAgICAgICAgc2V0T2JqZWN0KGxvb3BQYXJhbVswXSwgb2JqLCBmdW5jdGlvbiAoZXJyKSB7CiAgICAgICAgICAgICAgICBpZiAoZXJyKSB7CiAgICAgICAgICAgICAgICAgICAgbG9nKCdDYW5ub3Qgd3JpdGUgb2JqZWN0IGZvciBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddOiAnICsgZXJyKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIE5vdyB3ZSBhcmUgY3JlYXRpbmcgbmV3IHN0YXRlIFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKQogICAgICAgICAgICAgICAgICAgIGxldCBpbml0ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0uZGVmID09PSB1bmRlZmluZWQpIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdudW1iZXInKSBpbml0ID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdib29sZWFuJykgaW5pdCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICBpZihsb29wUGFyYW1bMV0udHlwZSA9PT0gJ3N0cmluZycpIGluaXQgPSAnJzsKICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gbG9vcFBhcmFtWzFdLmRlZjsKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgc2V0U3RhdGUobG9vcFBhcmFtWzBdLCBpbml0LCB0cnVlLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBzZXRTdGF0ZSBkdXJjaGdlZsO8aHJ0OiAnICsgbG9vcFBhcmFtWzBdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG51bVN0YXRlcyA9PT0gMCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBBbGwgc3RhdGVzIHByb2Nlc3NlZC4nKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7IC8vIGV4ZWN1dGUgaWYgYSBmdW5jdGlvbiB3YXMgcHJvdmlkZWQgdG8gcGFyYW1ldGVyIGNhbGxiYWNrCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBGdW5jdGlvbiB0byBjYWxsYmFjayBwYXJhbWV0ZXIgd2FzIHByb3ZpZGVkJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgICAgICAgICAgfSwgREVMQVkgKyAoMjAgKiBjb3VudGVyKSApOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KTsKICAgICAgICB9KTsKICAgIH0KfQoKbGV0IHN0YXRlc1RvQ3JlYXRlID0gWwoJLy9CZXfDpHNzZXJ1bmcKCVtwZmFkKydiZXdhZXNzZXJ1bmdfYWt0aXYnLCB7J25hbWUnOidiZXdhZXNzZXJ1bmdfYWt0aXYnLCd0eXBlJzonYm9vbGVhbicsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3dpdGNoJywnZGVmJzpmYWxzZX1dLAoJW3BmYWQrJ2Jld2Flc3NlcnVuZ19hdXRvbWF0aWsnLCB7J25hbWUnOidiZXdhZXNzZXJ1bmdfYXV0b21hdGlrJywndHlwZSc6J2Jvb2xlYW4nLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N3aXRjaCcsJ2RlZic6ZmFsc2V9XSwKCS8vVGltZXIKCVtwZmFkKydsYXV0emVpdF9nZXNhbXRfaW5fc2VrJywgeyduYW1lJzonbGF1dHplaXRfZ2VzYW10X2luX3NlaycsJ3R5cGUnOidudW1iZXInLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J251bWJlcicsJ2RlZic6MCwndW5pdCc6J1Nla3VuZGVuJ31dLAoJW3BmYWQrJ2xhdXR6ZWl0X2VuZGVfdWhyemVpdCcsIHsnbmFtZSc6J2xhdXR6ZWl0X2VuZGVfdWhyemVpdCcsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6J1Vocid9XSwKCVtwZmFkKydyZXN0bGF1dHplaXQnLCB7J25hbWUnOidyZXN0bGF1dHplaXQnLCd0eXBlJzogJ3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonTWludXRlbid9XSwKCVtwZmFkKydyZXN0bGF1dHplaXRfaW5fc2VrJywgeyduYW1lJzoncmVzdGxhdXR6ZWl0X2luX3NlaycsJ3R5cGUnOidudW1iZXInLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J251bWJlcicsJ2RlZic6MCwndW5pdCc6J1Nla3VuZGVuJ31dLAoJLy9WZW50aWxlCglbcGZhZCsndmVudGlsZS5ha3RpdmVzX3ZlbnRpbCcsIHsnbmFtZSc6ICdha3RpdmVzX3ZlbnRpbCcsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6Jyd9XSwKCVtwZmFkKyd2ZW50aWxlLmFuemFobF9ha3RpdmVfdmVudGlsZScsIHsnbmFtZSc6J2FuemFobF9ha3RpdmVfdmVudGlsZScsJ3R5cGUnOidudW1iZXInLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J251bWJlcicsJ2RlZic6MCx9IF0sCgkvL1ZlbnRpbCAxCglbcGZhZCsndmVudGlsZS52ZW50aWxfMS52ZW50aWxfMScsIHsnbmFtZSc6J3ZlbnRpbF8xJywndHlwZSc6J2Jvb2xlYW4nLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N3aXRjaCcsJ2RlZic6ZmFsc2V9XSwKCVtwZmFkKyd2ZW50aWxlLnZlbnRpbF8xLnZlbnRpbF8xX2RhdWVyJywgeyduYW1lJzogJ3ZlbnRpbF8xX2RhdWVyJywndHlwZSc6J251bWJlcicsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonbnVtYmVyJywnZGVmJzowLCd1bml0JzonU2VrdW5kZW4nfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMS52ZW50aWxfMV9lbmRlJywgeyduYW1lJzondmVudGlsXzFfZW5kZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6J1Vocid9XSwKCVtwZmFkKyd2ZW50aWxlLnZlbnRpbF8xLnZlbnRpbF8xX25hbWUnLCB7J25hbWUnOid2ZW50aWxfMV9uYW1lJywndHlwZSc6J3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonSGVja2UnfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMS52ZW50aWxfMV9yZXN0emVpdCcsIHsnbmFtZSc6J3ZlbnRpbF8xX3Jlc3R6ZWl0JywndHlwZSc6ICdzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6J01pbnV0ZW4nfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMS52ZW50aWxfMV9yZXN0emVpdF9pbl9zZWsnLCB7J25hbWUnOid2ZW50aWxfMV9yZXN0emVpdF9pbl9zZWsnLCd0eXBlJzonbnVtYmVyJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidudW1iZXInLCdkZWYnOjAsJ3VuaXQnOidTZWt1bmRlbid9XSwKCS8vVmVudGlsIDIKICAgIFtwZmFkKyd2ZW50aWxlLnZlbnRpbF8yLnZlbnRpbF8yJywgeyduYW1lJzondmVudGlsXzInLCd0eXBlJzonYm9vbGVhbicsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3dpdGNoJywnZGVmJzpmYWxzZX1dLAoJW3BmYWQrJ3ZlbnRpbGUudmVudGlsXzIudmVudGlsXzJfZGF1ZXInLCB7J25hbWUnOiAndmVudGlsXzJfZGF1ZXInLCd0eXBlJzonbnVtYmVyJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidudW1iZXInLCdkZWYnOjAsJ3VuaXQnOidTZWt1bmRlbid9XSwKCVtwZmFkKyd2ZW50aWxlLnZlbnRpbF8yLnZlbnRpbF8yX2VuZGUnLCB7J25hbWUnOid2ZW50aWxfMl9lbmRlJywndHlwZSc6J3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonVWhyJ31dLAoJW3BmYWQrJ3ZlbnRpbGUudmVudGlsXzIudmVudGlsXzJfbmFtZScsIHsnbmFtZSc6J3ZlbnRpbF8yX25hbWUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOidSYXNlbid9XSwKCVtwZmFkKyd2ZW50aWxlLnZlbnRpbF8yLnZlbnRpbF8yX3Jlc3R6ZWl0JywgeyduYW1lJzondmVudGlsXzJfcmVzdHplaXQnLCd0eXBlJzogJ3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonTWludXRlbid9XSwKCVtwZmFkKyd2ZW50aWxlLnZlbnRpbF8yLnZlbnRpbF8yX3Jlc3R6ZWl0X2luX3NlaycsIHsnbmFtZSc6J3ZlbnRpbF8yX3Jlc3R6ZWl0X2luX3NlaycsJ3R5cGUnOidudW1iZXInLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J251bWJlcicsJ2RlZic6MCwndW5pdCc6J1Nla3VuZGVuJ31dLAogICAgLy9WZW50aWwgMwogICAgW3BmYWQrJ3ZlbnRpbGUudmVudGlsXzMudmVudGlsXzMnLCB7J25hbWUnOid2ZW50aWxfMycsJ3R5cGUnOidib29sZWFuJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzd2l0Y2gnLCdkZWYnOmZhbHNlfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMy52ZW50aWxfM19kYXVlcicsIHsnbmFtZSc6ICd2ZW50aWxfM19kYXVlcicsJ3R5cGUnOidudW1iZXInLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J251bWJlcicsJ2RlZic6MCwndW5pdCc6J1Nla3VuZGVuJ31dLAoJW3BmYWQrJ3ZlbnRpbGUudmVudGlsXzMudmVudGlsXzNfZW5kZScsIHsnbmFtZSc6J3ZlbnRpbF8zX2VuZGUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOidVaHInfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMy52ZW50aWxfM19uYW1lJywgeyduYW1lJzondmVudGlsXzNfbmFtZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6J0JlZXQnfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMy52ZW50aWxfM19yZXN0emVpdCcsIHsnbmFtZSc6J3ZlbnRpbF8zX3Jlc3R6ZWl0JywndHlwZSc6ICdzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6J01pbnV0ZW4nfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfMy52ZW50aWxfM19yZXN0emVpdF9pbl9zZWsnLCB7J25hbWUnOid2ZW50aWxfM19yZXN0emVpdF9pbl9zZWsnLCd0eXBlJzonbnVtYmVyJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidudW1iZXInLCdkZWYnOjAsJ3VuaXQnOidTZWt1bmRlbid9XSwKICAgIC8vVmVudGlsIDQKICAgIFtwZmFkKyd2ZW50aWxlLnZlbnRpbF80LnZlbnRpbF80JywgeyduYW1lJzondmVudGlsXzQnLCd0eXBlJzonYm9vbGVhbicsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3dpdGNoJywnZGVmJzpmYWxzZX1dLAoJW3BmYWQrJ3ZlbnRpbGUudmVudGlsXzQudmVudGlsXzRfZGF1ZXInLCB7J25hbWUnOiAndmVudGlsXzRfZGF1ZXInLCd0eXBlJzonbnVtYmVyJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidudW1iZXInLCdkZWYnOjAsJ3VuaXQnOidTZWt1bmRlbid9XSwKCVtwZmFkKyd2ZW50aWxlLnZlbnRpbF80LnZlbnRpbF80X2VuZGUnLCB7J25hbWUnOid2ZW50aWxfNF9lbmRlJywndHlwZSc6J3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonVWhyJ31dLAoJW3BmYWQrJ3ZlbnRpbGUudmVudGlsXzQudmVudGlsXzRfbmFtZScsIHsnbmFtZSc6J3ZlbnRpbF80X25hbWUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOidrbC4gUmFzZW4nfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfNC52ZW50aWxfNF9yZXN0emVpdCcsIHsnbmFtZSc6J3ZlbnRpbF80X3Jlc3R6ZWl0JywndHlwZSc6ICdzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6J01pbnV0ZW4nfV0sCglbcGZhZCsndmVudGlsZS52ZW50aWxfNC52ZW50aWxfNF9yZXN0emVpdF9pbl9zZWsnLCB7J25hbWUnOid2ZW50aWxfNF9yZXN0emVpdF9pbl9zZWsnLCd0eXBlJzonbnVtYmVyJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidudW1iZXInLCdkZWYnOjAsJ3VuaXQnOidTZWt1bmRlbid9XSwKCS8vWmVpdHBsYW4KCS8vTW9yZ2VucwoJW3BmYWQrJ3plaXRwbGFuLm1vcmdlbnNfYWt0aXYnLCB7J25hbWUnOidtb3JnZW5zX2FrdGl2JywndHlwZSc6J2Jvb2xlYW4nLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N3aXRjaCcsJ2RlZic6ZmFsc2V9XSwKCVtwZmFkKyd6ZWl0cGxhbi5tb3JnZW5zX3VocnplaXRfc3RhcnQnLCB7J25hbWUnOidtb3JnZW5zX3VocnplaXRfc3RhcnQnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOidVaHInfV0sCglbcGZhZCsnemVpdHBsYW4ubW9yZ2Vuc191aHJ6ZWl0X3N0YXJ0X3N0dW5kZScsIHsnbmFtZSc6J21vcmdlbnNfdWhyemVpdF9zdGFydF9zdHVuZGUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOicnfV0sCglbcGZhZCsnemVpdHBsYW4ubW9yZ2Vuc191aHJ6ZWl0X3N0YXJ0X21pbnV0ZScsIHsnbmFtZSc6J21vcmdlbnNfdWhyemVpdF9zdGFydF9taW51dGUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOicnfV0sCglbcGZhZCsnemVpdHBsYW4ubW9yZ2Vuc192ZXJ6b2VnZXJ1bmdfc29ubmVuYXVmZ2FuZycsIHsnbmFtZSc6J21vcmdlbnNfdmVyem9lZ2VydW5nX3Nvbm5lbmF1ZmdhbmcnLCd0eXBlJzogJ3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonTWludXRlbid9XSwKCS8vQWJlbmRzCglbcGZhZCsnemVpdHBsYW4uYWJlbmRzX2FrdGl2JywgeyduYW1lJzonYWJlbmRzX2FrdGl2JywndHlwZSc6J2Jvb2xlYW4nLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N3aXRjaCcsJ2RlZic6ZmFsc2V9XSwKCVtwZmFkKyd6ZWl0cGxhbi5hYmVuZHNfdWhyemVpdF9zdGFydCcsIHsnbmFtZSc6J2FiZW5kc191aHJ6ZWl0X3N0YXJ0JywndHlwZSc6J3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonVWhyJ31dLAoJW3BmYWQrJ3plaXRwbGFuLmFiZW5kc191aHJ6ZWl0X3N0YXJ0X3N0dW5kZScsIHsnbmFtZSc6J2FiZW5kc191aHJ6ZWl0X3N0YXJ0X3N0dW5kZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6Jyd9XSwKCVtwZmFkKyd6ZWl0cGxhbi5hYmVuZHNfdWhyemVpdF9zdGFydF9taW51dGUnLCB7J25hbWUnOidhYmVuZHNfdWhyemVpdF9zdGFydF9taW51dGUnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOicnfV0sCglbcGZhZCsnemVpdHBsYW4uYWJlbmRzX3ZlcnpvZWdlcnVuZ19zb25uZW51bnRlcmdhbmcnLCB7J25hbWUnOidhYmVuZHNfdmVyem9lZ2VydW5nX3Nvbm5lbnVudGVyZ2FuZycsJ3R5cGUnOiAnc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOidNaW51dGVuJ31dLAoJLy9GZXN0ZSBTdGFydHplaXQKCVtwZmFkKyd6ZWl0cGxhbi5mZXN0ZV9zdGFydHplaXRfYWt0aXYnLCB7J25hbWUnOidmZXN0ZV9zdGFydHplaXRfYWt0aXYnLCd0eXBlJzonYm9vbGVhbicsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3dpdGNoJywnZGVmJzpmYWxzZX1dLAoJW3BmYWQrJ3plaXRwbGFuLmZlc3RlX3N0YXJ0emVpdF91aHJ6ZWl0X3N0YXJ0JywgeyduYW1lJzonZmVzdGVfc3RhcnR6ZWl0X3VocnplaXRfc3RhcnQnLCd0eXBlJzonc3RyaW5nJywncmVhZCc6dHJ1ZSwnd3JpdGUnOnRydWUsJ3JvbGUnOidzdHJpbmcnLCdkZWYnOidVaHInfV0sCglbcGZhZCsnemVpdHBsYW4uZmVzdGVfc3RhcnR6ZWl0X3VocnplaXRfc3RhcnRfc3R1bmRlJywgeyduYW1lJzonZmVzdGVfc3RhcnR6ZWl0X3VocnplaXRfc3RhcnRfc3R1bmRlJywndHlwZSc6J3N0cmluZycsJ3JlYWQnOnRydWUsJ3dyaXRlJzp0cnVlLCdyb2xlJzonc3RyaW5nJywnZGVmJzonJ31dLAoJW3BmYWQrJ3plaXRwbGFuLmZlc3RlX3N0YXJ0emVpdF91aHJ6ZWl0X3N0YXJ0X21pbnV0ZScsIHsnbmFtZSc6J2Zlc3RlX3N0YXJ0emVpdF91aHJ6ZWl0X3N0YXJ0X21pbnV0ZScsJ3R5cGUnOidzdHJpbmcnLCdyZWFkJzp0cnVlLCd3cml0ZSc6dHJ1ZSwncm9sZSc6J3N0cmluZycsJ2RlZic6Jyd9XSwJCiAgICAKXTsgICAgCiAgICBjcmVhdGVVc2VyU3RhdGVzKHNwZWljaGVyb3J0LCBmYWxzZSwgc3RhdGVzVG9DcmVhdGUpOw==</field>
       <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment>
     </block>
     <block type="procedures_callcustomnoreturn" id="aFB$[5W:V-UBM8)LeXC!" x="13" y="63">
       <mutation name="Datenpunkte_erstellen"></mutation>
     </block>
    </xml>
    

    /**
    * 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.
    */
    
    /**
    * Hier bitte den Speicherort und den Pfad eintragen
    * Beispiele: 
    
       speicherort = '0_userdata.0.'
       speicherort = 'javascript.0'
       
       pfad = 'bewasserung.'
       pfad = 'Gardena.Bewaesserung.'
    
    */
    speicherort = 'javascript.0'
    pfad = 'bewaesserung.'
    
    
    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) );
                   }
               });
           });
       }
    }
    
    let statesToCreate = [
       //Bewässerung
       [pfad+'bewaesserung_aktiv', {'name':'bewaesserung_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'bewaesserung_automatik', {'name':'bewaesserung_automatik','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       //Timer
       [pfad+'lautzeit_gesamt_in_sek', {'name':'lautzeit_gesamt_in_sek','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       [pfad+'lautzeit_ende_uhrzeit', {'name':'lautzeit_ende_uhrzeit','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'restlautzeit', {'name':'restlautzeit','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       [pfad+'restlautzeit_in_sek', {'name':'restlautzeit_in_sek','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       //Ventile
       [pfad+'ventile.aktives_ventil', {'name': 'aktives_ventil','type':'string','read':true,'write':true,'role':'string','def':''}],
       [pfad+'ventile.anzahl_aktive_ventile', {'name':'anzahl_aktive_ventile','type':'number','read':true,'write':true,'role':'number','def':0,} ],
       //Ventil 1
       [pfad+'ventile.ventil_1.ventil_1', {'name':'ventil_1','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'ventile.ventil_1.ventil_1_dauer', {'name': 'ventil_1_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       [pfad+'ventile.ventil_1.ventil_1_ende', {'name':'ventil_1_ende','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'ventile.ventil_1.ventil_1_name', {'name':'ventil_1_name','type':'string','read':true,'write':true,'role':'string','def':'Hecke'}],
       [pfad+'ventile.ventil_1.ventil_1_restzeit', {'name':'ventil_1_restzeit','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       [pfad+'ventile.ventil_1.ventil_1_restzeit_in_sek', {'name':'ventil_1_restzeit_in_sek','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       //Ventil 2
       [pfad+'ventile.ventil_2.ventil_2', {'name':'ventil_2','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'ventile.ventil_2.ventil_2_dauer', {'name': 'ventil_2_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       [pfad+'ventile.ventil_2.ventil_2_ende', {'name':'ventil_2_ende','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'ventile.ventil_2.ventil_2_name', {'name':'ventil_2_name','type':'string','read':true,'write':true,'role':'string','def':'Rasen'}],
       [pfad+'ventile.ventil_2.ventil_2_restzeit', {'name':'ventil_2_restzeit','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       [pfad+'ventile.ventil_2.ventil_2_restzeit_in_sek', {'name':'ventil_2_restzeit_in_sek','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       //Ventil 3
       [pfad+'ventile.ventil_3.ventil_3', {'name':'ventil_3','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'ventile.ventil_3.ventil_3_dauer', {'name': 'ventil_3_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       [pfad+'ventile.ventil_3.ventil_3_ende', {'name':'ventil_3_ende','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'ventile.ventil_3.ventil_3_name', {'name':'ventil_3_name','type':'string','read':true,'write':true,'role':'string','def':'Beet'}],
       [pfad+'ventile.ventil_3.ventil_3_restzeit', {'name':'ventil_3_restzeit','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       [pfad+'ventile.ventil_3.ventil_3_restzeit_in_sek', {'name':'ventil_3_restzeit_in_sek','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       //Ventil 4
       [pfad+'ventile.ventil_4.ventil_4', {'name':'ventil_4','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'ventile.ventil_4.ventil_4_dauer', {'name': 'ventil_4_dauer','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       [pfad+'ventile.ventil_4.ventil_4_ende', {'name':'ventil_4_ende','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'ventile.ventil_4.ventil_4_name', {'name':'ventil_4_name','type':'string','read':true,'write':true,'role':'string','def':'kl. Rasen'}],
       [pfad+'ventile.ventil_4.ventil_4_restzeit', {'name':'ventil_4_restzeit','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       [pfad+'ventile.ventil_4.ventil_4_restzeit_in_sek', {'name':'ventil_4_restzeit_in_sek','type':'number','read':true,'write':true,'role':'number','def':0,'unit':'Sekunden'}],
       //Zeitplan
       //Morgens
       [pfad+'zeitplan.morgens_aktiv', {'name':'morgens_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'zeitplan.morgens_uhrzeit_start', {'name':'morgens_uhrzeit_start','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'zeitplan.morgens_uhrzeit_start_stunde', {'name':'morgens_uhrzeit_start_stunde','type':'string','read':true,'write':true,'role':'string','def':''}],
       [pfad+'zeitplan.morgens_uhrzeit_start_minute', {'name':'morgens_uhrzeit_start_minute','type':'string','read':true,'write':true,'role':'string','def':''}],
       [pfad+'zeitplan.morgens_verzoegerung_sonnenaufgang', {'name':'morgens_verzoegerung_sonnenaufgang','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       //Abends
       [pfad+'zeitplan.abends_aktiv', {'name':'abends_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'zeitplan.abends_uhrzeit_start', {'name':'abends_uhrzeit_start','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'zeitplan.abends_uhrzeit_start_stunde', {'name':'abends_uhrzeit_start_stunde','type':'string','read':true,'write':true,'role':'string','def':''}],
       [pfad+'zeitplan.abends_uhrzeit_start_minute', {'name':'abends_uhrzeit_start_minute','type':'string','read':true,'write':true,'role':'string','def':''}],
       [pfad+'zeitplan.abends_verzoegerung_sonnenuntergang', {'name':'abends_verzoegerung_sonnenuntergang','type': 'string','read':true,'write':true,'role':'string','def':'Minuten'}],
       //Feste Startzeit
       [pfad+'zeitplan.feste_startzeit_aktiv', {'name':'feste_startzeit_aktiv','type':'boolean','read':true,'write':true,'role':'switch','def':false}],
       [pfad+'zeitplan.feste_startzeit_uhrzeit_start', {'name':'feste_startzeit_uhrzeit_start','type':'string','read':true,'write':true,'role':'string','def':'Uhr'}],
       [pfad+'zeitplan.feste_startzeit_uhrzeit_start_stunde', {'name':'feste_startzeit_uhrzeit_start_stunde','type':'string','read':true,'write':true,'role':'string','def':''}],
       [pfad+'zeitplan.feste_startzeit_uhrzeit_start_minute', {'name':'feste_startzeit_uhrzeit_start_minute','type':'string','read':true,'write':true,'role':'string','def':''}],	
       
    ];    
       createUserStates(speicherort, false, statesToCreate);
    

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

    @dslraser cool, danke. schaue ich mir morgen mal an

    dslraserD 1 Antwort Letzte Antwort
    0
    • K Kuddel

      @dslraser cool, danke. schaue ich mir morgen mal an

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

      @Kuddel
      wenn Du es in Dein Script mit einbaust, dann würde ich die Funktion zum erstellen der DP nur beim ersten starten des Blockly aktivieren, dann deaktivieren und wieder starten. Sonnst hast Du bei einem Neustart vom Script oder der JS Instanz wieder initiale Werte drinn, wenn die letzte Zeile auf true steht, oder eben die letzte Zeile auf false stellen.

      1 Antwort Letzte Antwort
      0
      • K Kuddel

        @darkiop danke für ddie Rückmeldung.

        Dein Fehler aus dem Log habe ich gefixt und aus den Scrrenshots auch.

        Ich hoffe ich habe jetzt alles erwischt

        bewaesserung_v1.3.1_beta.txt

        D Offline
        D Offline
        darkiop
        Most Active
        schrieb am zuletzt editiert von
        #208

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

        Dein Fehler aus dem Log habe ich gefixt und aus den Scrrenshots auch.

        Sieht auf den ersten Blick gut aus - keine Fehler.

        Ich hab vorhin nur auf die schnelle nach dem hm-rpc Fehler gesucht - was war es denn?

        Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

        K 1 Antwort Letzte Antwort
        0
        • D darkiop

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

          Dein Fehler aus dem Log habe ich gefixt und aus den Scrrenshots auch.

          Sieht auf den ersten Blick gut aus - keine Fehler.

          Ich hab vorhin nur auf die schnelle nach dem hm-rpc Fehler gesucht - was war es denn?

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

          @darkiop die variable für den ontime wert wurde falsch benutzt

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

            hier nochmal zum testen inkl. erstellung aller DPs (vielen dank an @dslraser für die Hilfe)

            bewaesserung_v1.3.2_beta.txt

            D 1 Antwort Letzte Antwort
            0
            • K Kuddel

              hier nochmal zum testen inkl. erstellung aller DPs (vielen dank an @dslraser für die Hilfe)

              bewaesserung_v1.3.2_beta.txt

              D Offline
              D Offline
              darkiop
              Most Active
              schrieb am zuletzt editiert von
              #211

              @Kuddel Bei Ventil 3 wird keine Restlaufzeit berechnet

              Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

              K 1 Antwort Letzte Antwort
              0
              • D darkiop

                @Kuddel Bei Ventil 3 wird keine Restlaufzeit berechnet

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

                @darkiop

                bei mir schon

                f70d13e3-ad4d-46ac-b132-d36e75b43a1e-grafik.png

                D 1 Antwort Letzte Antwort
                0
                • K Kuddel

                  @darkiop

                  bei mir schon

                  f70d13e3-ad4d-46ac-b132-d36e75b43a1e-grafik.png

                  D Offline
                  D Offline
                  darkiop
                  Most Active
                  schrieb am zuletzt editiert von darkiop
                  #213

                  @Kuddel Guten Morgen. Ich muss mal schauen - ich hab hier leider den Effekt - Geht mal / Geht wieder nicht ...
                  Funkprobleme kann ich ausschließen, in der Nähe des Außenaktors für die Ventile sitzt ein LAN-Gateway.
                  Im Log ist mir aufgefallen, das manchmal das ON_TIME zweimal geschickt wird - das wird aber ein Javascript-Adapter/ioBroker-Controller Problem sein.

                  Proxmox-ioBroker-Redis-HA Doku: https://forum.iobroker.net/topic/47478/dokumentation-einer-proxmox-iobroker-redis-ha-umgebung

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

                    hallo zusammen, ich hab das skript gerade erweitert, sodass es für Homematic UND Sonoff funktioniert.

                    Dazu muss man in den Variablen nur den Aktornamen und den Aktortyp eintragen:

                    92829c3e-5a8b-491c-9ba0-2893c92f3ed9-grafik.png

                    In den Kommentaren zu den Variablen steht eine kurze Beschreibung.

                    Ich habe es mit Sonoff und HM gestetet.

                    Bis au der Übergang von Ventil 3 zu Ventil 4, läuft es.

                    Des Weiteren habe ich den DP "Sonnenuntergang" neu definiert und in die DP-Struktur der Bewässerung mit eingebaut.

                    Wer Lust und Zeit hat zu testen... gerne gerne :-) Fehler bitte melden ;-)

                    bewaesserung_v2.0.0_beta.txt

                    D 1 Antwort Letzte Antwort
                    0
                    • B Offline
                      B Offline
                      benziman
                      schrieb am zuletzt editiert von benziman
                      #215

                      @Kuddel
                      Danke für deine Arbeit!
                      Das sieht bei mir aktuell so aus, bin mir nicht sicher ob das so stimmt.

                      4954bf8b-f37c-4410-80f3-1ed1eee3cd50-grafik.png

                      vars_pfad -> müsste so bleiben, da ja durch dein Script importiert?

                      bc78adb1-413b-4263-9b40-434fffe5aadc-grafik.png

                      vars_aktor_typ = sonoff ?

                      vars_aktor_name = sonoff.0.DVES_5A1757 ? (müssen power 1-4 nicht mehr definiert werden?

                      b8071540-d055-4749-a7dc-d6e1d62ae5af-grafik.png

                      K 1 Antwort Letzte Antwort
                      0
                      • B benziman

                        @Kuddel
                        Danke für deine Arbeit!
                        Das sieht bei mir aktuell so aus, bin mir nicht sicher ob das so stimmt.

                        4954bf8b-f37c-4410-80f3-1ed1eee3cd50-grafik.png

                        vars_pfad -> müsste so bleiben, da ja durch dein Script importiert?

                        bc78adb1-413b-4263-9b40-434fffe5aadc-grafik.png

                        vars_aktor_typ = sonoff ?

                        vars_aktor_name = sonoff.0.DVES_5A1757 ? (müssen power 1-4 nicht mehr definiert werden?

                        b8071540-d055-4749-a7dc-d6e1d62ae5af-grafik.png

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

                        @benziman

                        vars_pfad -> müsste so bleiben, da ja durch dein Script importiert?

                        Kann, muss aber nicht. Wenn du deine Struktur anders aufbauen möchtest, kannst du das gerne anpassen.
                        Dann aber bitte in der Blockly-Variable UND im JavaSkript

                        vars_aktor_typ = sonoff ?

                        Ja, passt so

                        vars_aktor_name = sonoff.0.DVES_5A1757 ? (müssen power 1-4 nicht mehr definiert werden?

                        Name passt. Power1-4 wird automatisch vom Skript definiert

                        1 Antwort Letzte Antwort
                        0
                        • B Offline
                          B Offline
                          benziman
                          schrieb am zuletzt editiert von benziman
                          #217

                          @Kuddel
                          Danke, dann müsste das jetzt so passen (deine Struktur lasse ich aktuell so)

                          Folgende Beobachtung habe ich gerade gemacht:
                          Habe jetzt als Test des Sonoff für alle 4 Kreise 1min eingestellt und den an/aus Button (links neben Automatik) aktiviert.

                          Ergebnis:

                          • Kanal 1 wird aktiviert, nach einer Minute wird Kanal 2 aktiviert, Kanal 1 bleibt aktiv und so weiter, am Ende der Laufzeit werden alle vier Kanäle wieder deaktiviert
                          • Wenn ich einen Kreis anklicke (wird grün) sollte dann nicht der Kanal aktiviert werden oder welche Funktion hat das aktivieren eines Kreise in der Vis?
                            --> nach klicken auf einen Kreis passiert im Sonoff nichts.
                          K 1 Antwort Letzte Antwort
                          0
                          • B benziman

                            @Kuddel
                            Danke, dann müsste das jetzt so passen (deine Struktur lasse ich aktuell so)

                            Folgende Beobachtung habe ich gerade gemacht:
                            Habe jetzt als Test des Sonoff für alle 4 Kreise 1min eingestellt und den an/aus Button (links neben Automatik) aktiviert.

                            Ergebnis:

                            • Kanal 1 wird aktiviert, nach einer Minute wird Kanal 2 aktiviert, Kanal 1 bleibt aktiv und so weiter, am Ende der Laufzeit werden alle vier Kanäle wieder deaktiviert
                            • Wenn ich einen Kreis anklicke (wird grün) sollte dann nicht der Kanal aktiviert werden oder welche Funktion hat das aktivieren eines Kreise in der Vis?
                              --> nach klicken auf einen Kreis passiert im Sonoff nichts.
                            K Offline
                            K Offline
                            Kuddel
                            schrieb am zuletzt editiert von
                            #218

                            @benziman

                            Kanal 1 wird aktiviert, nach einer Minute wird Kanal 2 aktiviert, Kanal 1 bleibt aktiv und so weiter, am Ende der Laufzeit werden alle vier Kanäle wieder deaktiviert

                            Ist die IP in den Variablen richtig ? Das sieht so aus, als wenn die Einschaltdauer nicht richtig gesetzt wird

                            Wenn ich einen Kreis anklicke (wird grün) sollte dann nicht der Kanal aktiviert werden oder welche Funktion hat das aktivieren eines Kreise in der Vis?

                            Die aktvierung der einzelnen Ventile per VIS ist komplett losgelöst vom Skript. Das ist dann ein komplett manueller Eingriff.
                            Prüfe mal im VIS Editor, ob überall die korrekten DPs zu deinem Sonoff aktor hinterlegt sind
                            Wennm an die einzelnen Ventile manuell anschaltet per VIS, muss man sie auch wieder manuell abschalten.

                            B 1 Antwort Letzte Antwort
                            0
                            • K Kuddel

                              @benziman

                              Kanal 1 wird aktiviert, nach einer Minute wird Kanal 2 aktiviert, Kanal 1 bleibt aktiv und so weiter, am Ende der Laufzeit werden alle vier Kanäle wieder deaktiviert

                              Ist die IP in den Variablen richtig ? Das sieht so aus, als wenn die Einschaltdauer nicht richtig gesetzt wird

                              Wenn ich einen Kreis anklicke (wird grün) sollte dann nicht der Kanal aktiviert werden oder welche Funktion hat das aktivieren eines Kreise in der Vis?

                              Die aktvierung der einzelnen Ventile per VIS ist komplett losgelöst vom Skript. Das ist dann ein komplett manueller Eingriff.
                              Prüfe mal im VIS Editor, ob überall die korrekten DPs zu deinem Sonoff aktor hinterlegt sind
                              Wennm an die einzelnen Ventile manuell anschaltet per VIS, muss man sie auch wieder manuell abschalten.

                              B Offline
                              B Offline
                              benziman
                              schrieb am zuletzt editiert von benziman
                              #219

                              @Kuddel

                              ok, dachte nur das es sinnvoller wäre Kreis 1 an, Kreis 1 aus, dann Kreis 2 an und so weiter. Für Leute die zu wenig Fließdruck haben könnte das ggf Eng werden wenn alle vier Kreise gleichzeitig aktiv sind. Abgesehen davon müsste Kreis 1 doch nach einer Minute (wenn so eingestellt) ausgehen, sonst bleibt Kreis 1 am Ende 4 Minuten an (wenn alle Kreise 1 Minute aktiv sind) oder?

                              Das scheint in der VIS noch nicht zu stimmen:
                              c41b8e00-74dc-45bc-aef9-867c8ed5b6e5-grafik.png
                              Der obere Eintrag endet auf STATE der untere auf WORKING, kannst du mir sagen was dort eingestellt werden bei Sonoff?

                              Das bei manueller Aktivierung eines Kreises der auch wieder deaktiviert werden muss macht Sinn, der timer daneben greift dann nicht?

                              K 1 Antwort Letzte Antwort
                              0
                              • B benziman

                                @Kuddel

                                ok, dachte nur das es sinnvoller wäre Kreis 1 an, Kreis 1 aus, dann Kreis 2 an und so weiter. Für Leute die zu wenig Fließdruck haben könnte das ggf Eng werden wenn alle vier Kreise gleichzeitig aktiv sind. Abgesehen davon müsste Kreis 1 doch nach einer Minute (wenn so eingestellt) ausgehen, sonst bleibt Kreis 1 am Ende 4 Minuten an (wenn alle Kreise 1 Minute aktiv sind) oder?

                                Das scheint in der VIS noch nicht zu stimmen:
                                c41b8e00-74dc-45bc-aef9-867c8ed5b6e5-grafik.png
                                Der obere Eintrag endet auf STATE der untere auf WORKING, kannst du mir sagen was dort eingestellt werden bei Sonoff?

                                Das bei manueller Aktivierung eines Kreises der auch wieder deaktiviert werden muss macht Sinn, der timer daneben greift dann nicht?

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

                                @benziman

                                ok, dachte nur das es sinnvoller wäre Kreis 1 an, Kreis 1 aus, dann Kreis 2 an und so weiter. Für Leute die zu wenig Fließdruck haben könnte das ggf Eng werden wenn alle vier Kreise gleichzeitig aktiv sind. Abgesehen davon müsste Kreis 1 doch nach einer Minute (wenn so eingestellt) ausgehen, sonst bleibt Kreis 1 am Ende 4 Minuten an (wenn alle Kreise 1 Minute aktiv sind) oder?

                                Wenn die Schaltzeit vom Skript korrekt gesetzt wird, werden alle Ventile nacheinander gestartet und wieder gestoppt.
                                Voraussetzung ist, dass man es über den Button An / Aus in der VIS oder per Automatik startet

                                Die DPs in der VIS musst du ändern.

                                Das scheint in der VIS noch nicht zu stimmen:

                                Bei Object ID muss zb. sonoff.0.XYZ.POWER1 rein.
                                Die andere ID kann auch freibleiben.
                                Unter Signalbilder musst du das auch noch anpassen

                                Das bei manueller Aktivierung eines Kreises der auch wieder deaktiviert werden muss macht Sinn, der timer daneben greift dann nicht?

                                Nein. Das Ventil wird nur aktiviert, die Schaltdauer wird aber nicht eingestellt

                                1 Antwort Letzte Antwort
                                0
                                • B Offline
                                  B Offline
                                  benziman
                                  schrieb am zuletzt editiert von
                                  #221

                                  @Kuddel
                                  Verstanden. Das manuelle Schalten eines Kreises klappt jetzt, allerdings bleibt die Farbe rot.
                                  Was meinst du mit Signalbilder?

                                  Test mit Automatik: Uhrzeit auf 10:20 gestellt, nichts passiert.

                                  K 1 Antwort Letzte Antwort
                                  0
                                  • B benziman

                                    @Kuddel
                                    Verstanden. Das manuelle Schalten eines Kreises klappt jetzt, allerdings bleibt die Farbe rot.
                                    Was meinst du mit Signalbilder?

                                    Test mit Automatik: Uhrzeit auf 10:20 gestellt, nichts passiert.

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

                                    @benziman

                                    Signalbilder:

                                    e0c62875-24e7-4dfc-9661-49e39a0bc1f1-grafik.png

                                    Bei der Automatik ist noch der tages Top Wert eingebaut.

                                    Ich denke der ist das problem, weil der bei dir nicht existiert:

                                    Unter "Bewässerung autom. starten"

                                    504b818b-379e-434d-ade9-21e14859e75d-grafik.png

                                    Der Wert muss bei dir raus

                                    B 1 Antwort Letzte Antwort
                                    0
                                    • K Kuddel

                                      @benziman

                                      Signalbilder:

                                      e0c62875-24e7-4dfc-9661-49e39a0bc1f1-grafik.png

                                      Bei der Automatik ist noch der tages Top Wert eingebaut.

                                      Ich denke der ist das problem, weil der bei dir nicht existiert:

                                      Unter "Bewässerung autom. starten"

                                      504b818b-379e-434d-ade9-21e14859e75d-grafik.png

                                      Der Wert muss bei dir raus

                                      B Offline
                                      B Offline
                                      benziman
                                      schrieb am zuletzt editiert von
                                      #223

                                      @Kuddel

                                      Habe wegen der Farbe ggf etwas gefunden:
                                      080c8569-0d93-4a94-9c8b-638e86572af6-grafik.png
                                      Ist das vllt die Ursache?

                                      Signalbilder finde ich nicht.

                                      Bin jetzt an der Stelle im Script, welchen Tages Topwert meinst du?
                                      top_temp?

                                      K 1 Antwort Letzte Antwort
                                      0
                                      • B benziman

                                        @Kuddel

                                        Habe wegen der Farbe ggf etwas gefunden:
                                        080c8569-0d93-4a94-9c8b-638e86572af6-grafik.png
                                        Ist das vllt die Ursache?

                                        Signalbilder finde ich nicht.

                                        Bin jetzt an der Stelle im Script, welchen Tages Topwert meinst du?
                                        top_temp?

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

                                        @benziman ja stimmt. darüber habe ich den rahmen gemacht,

                                        da muss dann auch dein sonoff POWER wert rein statt eines HM-States

                                        B 1 Antwort Letzte Antwort
                                        0
                                        • K Kuddel

                                          @benziman ja stimmt. darüber habe ich den rahmen gemacht,

                                          da muss dann auch dein sonoff POWER wert rein statt eines HM-States

                                          B Offline
                                          B Offline
                                          benziman
                                          schrieb am zuletzt editiert von
                                          #225

                                          @Kuddel
                                          perfekt, das klappt auch gleich!

                                          Wo finde ich denn Signalbilder und welchen Wert/Eintrag muss ich im Script "tages top Wert" ? löschen/ändern?

                                          K 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

                                          835

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          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