- Home
- Deutsch
- Entwicklung
- [neuer Adapter] Gardena Smart System API
[neuer Adapter] Gardena Smart System API
-
@dslraser DU BIST DER HAMMER. Danke es hat geklappt.
-
@dslraser Habe noch zwei Fragen. Das Script funktionier soweit mir deiner Hilfe, nur wie beende ich das Script? Es soll einfach nur den Befehl senden und dann wieder ausschalten.
Und 2. Wie bekomme ich das Scrip jetzt in Mediola NEO? Blöcke exportieren oder den Java Scrip anzeigen und im Automationsmanager einfügen klappt mal nicht. Wäre auch zu einfach. -
@Mainframe sagte in [neuer Adapter] Gardena Smart System API:
Es soll einfach nur den Befehl senden und dann wieder ausschalten.
Wie man den stop Befehl sendet, siehst Du in meinem Blockly.
Und 2. Wie bekomme ich das Scrip jetzt in Mediola NEO?
Da kann ich Dir nicht helfen, das habe ich nicht.
Zeig doch mal Dein aktuelles Blockly/Script. (ich nutze z.B.auch eigene selbst erstellte Datenpunkte) -
Ganz schlicht und einfach. Er soll zb 1 Minuten einschalten und dann das script beenden. Bzw Das Scrip soll sofort beendet werden! Damit ich zb das Stop Script aufrufen kann.
-
@dslraser Du verwendest aber IQontrol. (Ist die kostenlose Version) Da musst du das ja irgendwie dein Script eingefügt haben.
-
@Mainframe sagte in [neuer Adapter] Gardena Smart System API:
Ganz schlicht und einfach. Er soll zb 1 Minuten einschalten und dann das script beenden. Bzw Das Scrip soll sofort beendet werden! Damit ich zb das Stop Script aufrufen kann.
Ich verwende eigene Datenpunkte dafür. Wenn ich wieder am Rechner bin, dann exportiere ich Dir mal mein Blockly.
Du brauchst einen Trigger dafür.
Und übrigens gehört in Deinen letzten steuere Baustein kein Textbaustein mit true, sonder ein Logikbaustein mit true/wahr. -
@Mainframe sagte in [neuer Adapter] Gardena Smart System API:
@dslraser Du verwendest aber IQontrol. (Ist die kostenlose Version) Da musst du das ja irgendwie dein Script eingefügt haben.
ähm...iQontrol ist kostenlos und läuft über ioBroker.
-
@Mainframe
Hier noch der Blockly Export, aber wie gesagt, das läuft noch nicht rund. Aber im Moment kann ich auch nicht weiter testen, da meine Ventile noch nicht wieder drann sind. In dem Blockly ist im Moment nur ein Ventil. Das Blockly erstellt auch Datenpunkte unter 0_userdata.0 und auch SmartNamen für den iot Adapter.<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="" id="%iOvvbVzFhG(KGcEhYOT">start</variable> <variable type="" id="8id[V#VN.gR:xQ4Q3_@%">stop</variable> <variable type="" id="0a8xbe2*[-477gd-?1(E">duration</variable> <variable type="undefined" id="hinten">hinten</variable> <variable type="" id=".!r8N,_o=%#_@l*^5zXc">Anzahl_aktive_Ventile</variable> </variables> <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">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQ1MjkyMC9jb250aW51ZS1pbi1jdXJzb3ItZm9yZWFjaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGF0ZSBpcyBub3QgZXhpc3Rpbmcgb3IgZm9yY2UgPSB0cnVlLCBzbyB3ZSBhcmUgY29udGludWluZyB0byBjcmVhdGUgdGhlIHN0YXRlIHRocm91Z2ggc2V0T2JqZWN0KCkuCiAgICAgICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgICAgIG9iai5jb21tb24gPSBsb29wUGFyYW1bMV07CiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXTogJyArIGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJykKICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IGxvb3BQYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKGxvb3BQYXJhbVswXSwgaW5pdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIFsnR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDFSZXN0bGF1ZnplaXRfdm9ybl9saW5rcycsIHsnbmFtZSc6JzAxUmVzdGxhdWZ6ZWl0IHZvcm4gbGlua3MnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbGV2ZWwnLCd1bml0JzonTWludXRlbicsJ21pbic6MCwgJ21heCc6NjAsICdkZWYnOjAsICJzbWFydE5hbWUiOiB7ImRlIjogIkJld8Okc3NlcnVuZyB2b3JuIGxpbmtzIiwic21hcnRUeXBlIjogIkxJR0hUIiwiYnlPTiI6ICJzdG9yZWQifSB9XSwKICAgIFsnR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDJSZXN0bGF1ZnplaXRfdm9ybl9yZWNodHMnLCB7J25hbWUnOicwMlJlc3RsYXVmemVpdCB2b3JuIHJlY2h0cycsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidsZXZlbCcsJ3VuaXQnOidNaW51dGVuJywnbWluJzowLCAnbWF4Jzo2MCwgJ2RlZic6MCwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQmV3w6Rzc2VydW5nIHZvcm4gcmVjaHRzIiwic21hcnRUeXBlIjogIkxJR0hUIiwiYnlPTiI6ICJzdG9yZWQifSB9XSwKICAgIFsnR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDNSZXN0bGF1ZnplaXRfc2VpdGUnLCB7J25hbWUnOicwM1Jlc3RsYXVmemVpdCBzZWl0ZScsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidsZXZlbCcsJ3VuaXQnOidNaW51dGVuJywnbWluJzowLCAnbWF4Jzo2MCwgJ2RlZic6MCwgInNtYXJ0TmFtZSI6IHsiZGUiOiAiQmV3w6Rzc2VydW5nIHNlaXRlIiwic21hcnRUeXBlIjogIkxJR0hUIiwiYnlPTiI6ICJzdG9yZWQifSB9XSwKICAgIFsnR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDRSZXN0bGF1ZnplaXRfaGludGVuJywgeyduYW1lJzonMDRSZXN0bGF1ZnplaXQgaGludGVuJywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J2xldmVsJywndW5pdCc6J01pbnV0ZW4nLCdtaW4nOjAsICdtYXgnOjYwLCAnZGVmJzowLCAic21hcnROYW1lIjogeyJkZSI6ICJCZXfDpHNzZXJ1bmcgaGludGVuIiwic21hcnRUeXBlIjogIkxJR0hUIiwiYnlPTiI6ICJzdG9yZWQifSB9XSwKICAgIFsnR2FyZGVuYS5CZXdhZXNzZXJ1bmcuMDVha3RpdmVfVmVudGlsZScsIHsnbmFtZSc6JzA1YWt0aXZlIFZlbnRpbGUnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywndW5pdCc6J1ZlbnRpbGUnLCdkZWYnOjAsIH1dLApdOyAgICAKICAgIGNyZWF0ZVVzZXJTdGF0ZXMoJzBfdXNlcmRhdGEuMCcsIGZhbHNlLCBzdGF0ZXNUb0NyZWF0ZSk7Cg==</field> <comment pinned="false" h="80" w="160">Datenpunkte erstellen</comment> </block> <block type="procedures_callcustomnoreturn" id="K:Dkkzk:i@OO;gcBEH{Y" x="13" y="63"> <mutation name="Datenpunkte_erstellen"></mutation> <next> <block type="variables_set" id=":c0YN}Y]rvt|9Ap,7~zr"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> <value name="VALUE"> <block type="text" id="H2-p#-Ij$ssd*7jVXKwi"> <field name="TEXT">manual</field> </block> </value> <next> <block type="variables_set" id="MgUi2bmI}M%AZ]UM;Ulx"> <field name="VAR" id="8id[V#VN.gR:xQ4Q3_@%" variabletype="">stop</field> <value name="VALUE"> <block type="text" id="{#@Q`r:8If1|gOltc.0."> <field name="TEXT">idle</field> </block> </value> <next> <block type="comment" id="_xZ0}nhqtzQF;+Pet?wD"> <field name="COMMENT">Hinten</field> <next> <block type="on_ext" id="bkr7Oxh.jkq38Hg:FJ_P"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="pVo)6rfzoS~-2?p52[ex"> <field name="oid">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="naM%iuve@,gBS@h.QY]."> <field name="COMMENT">Hinten Ventil ID 1</field> <next> <block type="controls_if" id="_4,mh8}AlO2*^u1C3lV-"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id=",uub=JjEz-a-||Eb}6F;"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="K-^}K-zjcaj%VTlXEgVb"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <block type="math_number" id=")|H@#s?`(#|cO@f/.d2M"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="R7~p:/5-%OPmscc1SUY["> <value name="IF0"> <block type="logic_compare" id="o}b5U-0gm/m)ARTcn(Uh"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id=";M@mI1H/v3I/9n4{W`{I"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.05aktive_Ventile</field> </block> </value> <value name="B"> <block type="math_number" id="74M)02u;`Nr~hH+!ZT#Z"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="u(rl[zSa}/!JLc}`k9f+"> <mutation delay_input="false"></mutation> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.duration</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="jhs/2e~GWN?I)wNRi[wu"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <next> <block type="control" id="GC!mc?B18ovz+Q]OCptk"> <mutation delay_input="false"></mutation> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="(A8DTtF{5M`QZnL6ku[f"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> </block> </value> <next> <block type="control" id="g2g-.ro[O`*7)IEPH~7="> <mutation delay_input="true"></mutation> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.smart_trigger</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="U1Y7v$xAE`8rR@g_77GN"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="timeouts_clearinterval" id="26Q4ksA,ujx81^vwN*OB"> <field name="NAME">hinten</field> <next> <block type="timeouts_setinterval" id="V)eR!]mz9$ByAx0jq`n!"> <field name="NAME">hinten</field> <field name="INTERVAL">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="update" id="]tOcH;Daud(bBTD3:tlV" inline="false"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="nNab|(3*J+Qd/QP:)u;5"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="^!a,FZ33ph(GV#[e(EeR"> <field name="NUM">1</field> </shadow> <block type="get_value" id=".p*Vlcr*1oB%05VPm.Z4"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <shadow type="math_number" id="nh~,0m2g(HED8,CKti}b"> <field name="NUM">1</field> </shadow> <block type="math_number" id="9x*u,v+}w@f9)6q~]ymJ"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id=";@`VZLA=O$No#gKJtPgt"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="p1-n]ye/xZ~4x+Jk6$I]"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <block type="math_number" id="*|6EULg)jKP:A/Db1XUg"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_clearinterval" id="|`-/ypSgD`GWuyj)Bz}g"> <field name="NAME">hinten</field> <next> <block type="control" id="n~tXA]b*@G6~djI?tE2t"> <mutation delay_input="false"></mutation> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="mBsRE=85)(pD5a*SVXj#"> <field name="VAR" id="8id[V#VN.gR:xQ4Q3_@%" variabletype="">stop</field> </block> </value> <next> <block type="control" id="_mbo*(BFy^Cg{{)%4A7r"> <mutation delay_input="true"></mutation> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.smart_trigger</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">1000</field> <field name="UNIT">ms</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="BTOBRh#@f=S_*$^gJZ::"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_operation" id=".m7s$Q%H`?sjN9272+tw" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="l0D#91@!o39DCI(.kr=L"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id="h9jd^t9-Y1fe;6glVA1d"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> </block> </value> <value name="B"> <block type="math_number" id="d#uD7/JGXk4^+:T%IXCW"> <field name="NUM">0</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="O_9#Gp4_u!Nd)a{pdE[*"> <field name="OP">GT</field> <value name="A"> <block type="get_value" id=":sFUUgE5bEt}P$qf$-FI"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Gardena.Bewaesserung.05aktive_Ventile</field> </block> </value> <value name="B"> <block type="math_number" id="[_3_pbiLdji)0-9[?!Y:"> <field name="NUM">2</field> </block> </value> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="+]G[vga2r01D``x$-7(x"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="eU^su!N7w!F,9KMu%rhS"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="on_ext" id="4hYU!~XtxcP3*K4-U6$9"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="_3xLV]y]3#7u~^S,vp(@"> <field name="oid">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="H7BEQf$#^Yw=*(!J*P%B"> <field name="COMMENT">Hinten Ventil ID 1 aus, wenn in der App ausgeschaltet wird</field> <next> <block type="controls_if" id="V;VAtWg+=)C[6=1ea`$$"> <value name="IF0"> <block type="logic_compare" id="hhC:2:AVoVY+](N]])~!"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2-[=nKAtK?guW^5-;Uy`"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> </block> </value> <value name="B"> <block type="variables_get" id="`;Ci/2uX%YI[sx/In!z_"> <field name="VAR" id="8id[V#VN.gR:xQ4Q3_@%" variabletype="">stop</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="x|Wt}+)IG4-.2T::.U?J"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="`[lO+QhxJtx}YXmjFDOk"> <field name="NUM">0</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <next> <block type="on_ext" id="1h)ZD?q0DPx[#%DXc8xR"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Y$~eE+:4En2e[}%f]hY#"> <field name="oid">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.duration</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id=";fSL2AkDzri~Cnwym^K%"> <field name="VAR" id="0a8xbe2*[-477gd-?1(E" variabletype="">duration</field> <value name="VALUE"> <block type="math_arithmetic" id="TDARyOJhrsaT~6Q0,pNq"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="7WD.Gc[vqZx%uUL7XGSm"> <field name="NUM">1</field> </shadow> <block type="get_value" id="O^uGhC{#n/z.-1i}h]w;"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.duration</field> </block> </value> <value name="B"> <shadow type="math_number" id="IJ:)RfzcH|5/-|=/[i)l"> <field name="NUM">1</field> </shadow> <block type="math_number" id="AZE=%?.qHoRomxRv3g3U"> <field name="NUM">3</field> </block> </value> </block> </value> <next> <block type="comment" id="-shyWw]q.x-Tk`.#Y;3H"> <field name="COMMENT">Hinten Ventil ID 1 Laufzeit, wenn in der App geändert wird</field> <next> <block type="controls_if" id="LvO*^Fhw_CMS{kU^pF!Q"> <value name="IF0"> <block type="logic_compare" id="jOp)|Zf/;Q.$tu~r!0,t"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="JwDns*PAbim;;`DNJWud"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> </block> </value> <value name="B"> <block type="variables_get" id="iTRHlA+HL[XJX.j[D@^5"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="4JV@N={t`*A0(!=k{1Y|"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Gardena.Bewaesserung.04Restlaufzeit_hinten</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_arithmetic" id="4W0xvZ(Q3%9*!WkY$hL/"> <field name="OP">DIVIDE</field> <value name="A"> <shadow type="math_number" id="0)CW:M*`*arYMmG7^rcF"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="$~2`n5xZJnc+ZUr}$ctl"> <field name="VAR" id="0a8xbe2*[-477gd-?1(E" variabletype="">duration</field> </block> </value> <value name="B"> <shadow type="math_number" id="=DmKHn=ofqy[H#w,t;v0"> <field name="NUM">1</field> </shadow> <block type="math_number" id="jmH5vlVfN;nb3HT{-frQ"> <field name="NUM">60</field> </block> </value> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="OfN_,{3CDv)z_Ss%kZ18"> <field name="COMMENT">Seite</field> <next> <block type="comment" id=")s;m^gn-J,Zudu.NFhKy"> <field name="COMMENT">Vorne rechts</field> <next> <block type="comment" id="FN=fH4Z6z:dqi-37Hisv"> <field name="COMMENT">Vorne links</field> <next> <block type="comment" id="7iNd.ypCLT8}xu-k$bXH"> <field name="COMMENT">aktive Ventile</field> <next> <block type="on_ext" id="ak:h]_Wzhofy;Gv%Jz*b"> <mutation items="4"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="gFu{fxMeCrES}yS`B-=T"> <field name="oid">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id=",7r:nmG2}yxx.cZci!B4"> <field name="oid">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.1167267d-74ef-3bcd-8917-523c69ad9cf5.properties.state</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="_::4ZJRgJ6I_!mAVm:^L"> <field name="oid">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.8f976e90-5f89-3e88-a205-8f9cb2fd0a51.properties.state</field> </shadow> </value> <value name="OID3"> <shadow type="field_oid" id="HPe{}P;p^WtG92XI/G~p"> <field name="oid">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.3abc91d0-4e23-33f7-9f81-58ccdc5ebea2.properties.state</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="6r.`ubF[7lRh:~KB!hwn"> <field name="VAR" id=".!r8N,_o=%#_@l*^5zXc" variabletype="">Anzahl_aktive_Ventile</field> <value name="VALUE"> <block type="math_number" id="}N0|NxGCR24S5(JdzO@)"> <field name="NUM">0</field> </block> </value> <next> <block type="comment" id="Ir~K5=?fZ861q`!.w)Y_"> <field name="COMMENT">Ventil 1</field> <next> <block type="controls_if" id="|4hc2AMC9{MhMcC.f^oJ"> <value name="IF0"> <block type="logic_compare" id="OvmAE!mZ!2j6CfiH4x+e"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="?xw^HAp4NpAr5siYnHQ)"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.099e1cc2-80f0-3888-a25e-06bd12e0f593.properties.state</field> </block> </value> <value name="B"> <block type="variables_get" id="e([ut)BC%oNoeo,W{35R"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="P{X+]x]f0]!3pza#uj6V"> <field name="VAR" id=".!r8N,_o=%#_@l*^5zXc" variabletype="">Anzahl_aktive_Ventile</field> <value name="DELTA"> <shadow type="math_number" id="w,ThlF*sJNR#1sY9`d#s"> <field name="NUM">1</field> </shadow> </value> </block> </statement> <next> <block type="comment" id="[:^wBG3sJL-Q$F%@kj_5"> <field name="COMMENT">Ventil 2</field> <next> <block type="controls_if" id="V-+eo+:u4H.8Ebz3;Nm_"> <value name="IF0"> <block type="logic_compare" id="@Bpq,$743)*np,xope`j"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="ml|(Jg}EM9OY2iFNESJ!"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.1167267d-74ef-3bcd-8917-523c69ad9cf5.properties.state</field> </block> </value> <value name="B"> <block type="variables_get" id="f~%wSSHlMvyGc)Oo8m?L"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="km:_!Rw2^$)@y_q%vkDI"> <field name="VAR" id=".!r8N,_o=%#_@l*^5zXc" variabletype="">Anzahl_aktive_Ventile</field> <value name="DELTA"> <shadow type="math_number" id="44q$7Y$_D-CUQ,thE41#"> <field name="NUM">1</field> </shadow> </value> </block> </statement> <next> <block type="comment" id=":5MK2LVJE?lca3#?(ORJ"> <field name="COMMENT">Ventil 3</field> <next> <block type="controls_if" id="RD|[w`*gJ^q%sL[MlM%j"> <value name="IF0"> <block type="logic_compare" id="2~=5M^N6~F1iT70DLw}v"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6/;{d)f394]|j!k^-yoa"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.8f976e90-5f89-3e88-a205-8f9cb2fd0a51.properties.state</field> </block> </value> <value name="B"> <block type="variables_get" id="E%3Dh}EcZ?IzhlD{b3f)"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="?)(Xm.p,t.2DE(7}.@{A"> <field name="VAR" id=".!r8N,_o=%#_@l*^5zXc" variabletype="">Anzahl_aktive_Ventile</field> <value name="DELTA"> <shadow type="math_number" id="wYAs5;Saey_/9iPh_nlc"> <field name="NUM">1</field> </shadow> </value> </block> </statement> <next> <block type="comment" id="ty}]}S!I2Cy(7UJtApbG"> <field name="COMMENT">Ventil 4</field> <next> <block type="controls_if" id="zjZc4h9(8N272}#Z+rab"> <value name="IF0"> <block type="logic_compare" id="2l-l4Xin/D:NbW,tqhV5"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="M=$Dg/:Z3lo/cwDs1cDQ"> <field name="ATTR">val</field> <field name="OID">gardena.0.datapoints.2c47d688-dc5a-45e8-9adc-c3ae3cf5f5b4.79c54164-4963-48ce-b9f1-9bb3bc59d84e.abilities.27fa6b42-7ed2-3149-8e64-262f7988aaa6.3abc91d0-4e23-33f7-9f81-58ccdc5ebea2.properties.state</field> </block> </value> <value name="B"> <block type="variables_get" id="Ze6eolOm*u,]muW::p7G"> <field name="VAR" id="%iOvvbVzFhG(KGcEhYOT" variabletype="">start</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="!M6A5`R!ffScdtcM5`.!"> <field name="VAR" id=".!r8N,_o=%#_@l*^5zXc" variabletype="">Anzahl_aktive_Ventile</field> <value name="DELTA"> <shadow type="math_number" id="pr5sDX3XbJH8JI6+Bw]L"> <field name="NUM">1</field> </shadow> </value> </block> </statement> <next> <block type="update" id="OMU%^}/8Mc;4B9q7SCIY"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Gardena.Bewaesserung.05aktive_Ventile</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="ssnhaL!lN9:ECQkjyJ}1"> <field name="VAR" id=".!r8N,_o=%#_@l*^5zXc" variabletype="">Anzahl_aktive_Ventile</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@dslraser Verstehe. Dachte du verwendest IQONTROL von Mediola.
-
@dslraser Ich bin ein totaler Neuling was iobroker, blockly usw betrifft. Muss mich erst einlesen und Videos durcharbeiten um dies alles zu verstehen. Aber danke
-
das hier ist das iQontrol von dem ich rede
https://github.com/sbormann/ioBroker.iqontrol/blob/master/README.md
-
@dslraser Danke Für die tolle Hilfe. Ich habe es ohne Blockly ins NEO geschafft.
Wo bekommst du die Daten für die Restzlaufzeit her? Duration verändert sich ja nicht. -
@Mainframe
aus meinem eigenen Datenpunkt über das Blockly. (in Minuten)Wenn ich in der App oder auch iQontrol die Bewässerung starte, dann wird die jeweilige Zeit in den jeweiligen Datenpunkt eingetragen und das Blockly zählt dann runter. (zyklische Ausführung 1 Minute)
-
@dslraser Perfekt Danke!
-
@dslraser Ganz verstehe ich es noch nicht.
Du Verwendest die Daten von 04Restlaufzeit hinten, ziehst nach einer Minute du den Wert 1 ab und setzt diese Variable wieder wo ein wo dieser Zyklus wieder nach einer Minute 1 abgezogen bekommt und bei Null ist Schluss?!
Ich bin zu blöd für Blockly -
@Mainframe sagte in [neuer Adapter] Gardena Smart System API:
Ganz verstehe ich es noch nicht
was verstehst Du denn nicht ?
-
@Mainframe
wenn ich über die App starte, denn wird die Zeit umgerechnet und in den Gardena Datenpunkt eingetragen. Dieser Wert wird in meinen eigenen Datenpunkten in Minuten umgerechnet und dann jede Minute um eins runter gezählt. Bei null endet sowohl die App, aber auch das Blockly.
Wenn ich über iQontrol starte, dann wird der Wert in meinen eigenen Datenpunkt eingetragen und für den Gardena Datenpunkt umgerechnet und dann dort gestartet.iQontrol 12 Minuten eingestellt
Meine eigenen Datenpunkte
eine Minute später
Wenn da 0 steht, dann wird die Bewässerung beendet.
Wenn in der App beendet wird, dann geht der Datenpunkt auf 0 -
Wie du das gemacht hast. Ich glaube ich habe einen kompletten Denkfehler!
Wenn das Gerät eingeschalten ist dann hole dir die Sekunden aus dem iobrocker mit ZB 297 sec. Ziehe jede Minute 60 ab und schreibe dies in eine Variable.
ok gut aber wie und 2. wenn ich die bewässerung stoppe läuft ja die restzeit ja weiter. Oder steh ich voll am Schlauch -
@dslraser OK das ist mir wie gesagt zu hoch. soweit bin ich noch lange nicht. Trotzdem Danke für deine Mühe!
-
@Mainframe
ich weiß leider nicht wie ich es besser erklären kann