- Home
- Deutsch
- Skripten / Logik
- Blockly
- [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen
[Vorlage] Blockly - Beliebiges Zeichen im Text tauschen
-
Vielen Dank für die Hilfe!
Beste Grüße -
@dslraser aha ich bin aktuell auf der 4.0.12 also ist es eine Beta?
Habe ich merkbare Nachteile, wenn ich runter zur 3.6.4 gehe?Ein Bug habe ich wohl in 4.0.12 gefunden, wenn man im Trigger ein 2tes Objekt hinzufügt und es danach wieder entfernen will bleibt es als unlöschbarer shadow im Hintergrund.
Löschen kann ich es dann nur, wenn ich im Export den Shadow Teil unten löschen und meinen Blockly Code wieder importiere.
edit:
ich sehe gerade im changelog das seit gestern eine 4.1.2 vorhanden ist...4.1.2 (2019-02-20)
(jkuehner) Updated the blockly to the latest code
(bleufox) scriptEnabled variables not only for experts
(bleufox) fixed one error with "cannot extract blockly"das Problem mit dem cannot extract blockly habe ich sogar aktuell, wie komme ich denn auf die Version hoch? Wird mir unter Adapter nicht angeboten.
-
@TDCroPower ?????????
Falscher Fred!!! -
Hi,
ich versuche ein "letztes Komma" in meinem DP zu entfernen, aber egal wo ich ansetze es zerschiesst mir mein Blockly. Es gibt ein Haufen Fenster Status Script die aber irgendwie nie alles abgedeckt haben, was ich gerne wollte. Ich also nachfolgendes Blockly und es funktioniert einwandfrei nur habe ich eben ein "letztes Komma" in meinem DP, das ich aus "Perfektionsgründen" gerne weg hätte.
mein Blockly ist bestimmt nich so elegant wieviele andere... aber naja
ich gehe reagier auf die Trigger der HM Fenstergriffe und schreibe abhängig davon in variable den Namen der Fenster.Am Ende schreibe ich die Variablen in die Datenpunkte
jetzt ist wie bereit gesagt, das letzte Komma im Text zuviel.
ich müsste alle den Inhalt meiner variable " var_text_fenster_geschlossen" einlesen und das letzte "Komma" entfernen, bevor ich den Datenpunkt fülle.ich habe heute schon Stunden damit verbracht, ich stehe auf dem Schlauch.
Ich kann die "Text" Elemente aus Blockly nicht in meine Script verbinden dass irgendwie sinnig ist.bitte helft mir mal da raus.
Vielen Dank -
Ich habe HMIP Fensterdrehgriffe und einfache HMIP Fenstersensoren gemischt und mache die Auswertung über die Werteliste. Vielleicht magst Du es Dir mal ansehen.
Geräte zählen
https://forum.iobroker.net/post/346230Und hier das gleiche, zusätzlich mit Alexa Ansage
https://forum.iobroker.net/post/273976 -
@dslraser
Hi, Danke dir, das kenne ich schon und habe viel davon abgeschaut.
Aber ich verstehe eben nicht alles und kann dann nicht daran weiterarbeiten oder verändern/ für mich ergänzen, daher habe ich es für mich neu aufgebaut.es geht mir eben nur noch um das "Komma".
-
@dos1973
stelle mal Dein Blockly hier rein, ich möchte mal was probieren. -
-
@dos1973
Naja, Du könntest ja sogar machen wieText = Im Text nimm Teil ab Anfang bis Textlänge -1
Dann isses weg
-
@padrino
ich bekomme die Puzzle mit den "Textblöcken" nicht in mein Blockly ohne es zu zerstören... -
@dos1973
Bin jetzt leider nicht am PC...Mach den Baustein, wie von mir beschrieben (allein, unter oder neben Deinem Blocken).
Als Text nimmst/verschiebst Du Deine Variable aus "beschreibe Datenpunkte", dann schiebst Du das ganze Konstrukt zurück ins "steuere", wo die Variable fehlt. -
@padrino
das klappt alles nicht,
entweder stehe ich hier total auf dem Schlauch, aber mir fehlt einfach der "Vorbau" um mit den Textblöcken zu arbeiten zu können. -
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="Blockly_start">Blockly_start</variable> <variable type="" id="lORNh2Pt?czf/[Pfo.(1">var_fenster_offen</variable> <variable type="" id="6VGwAvuZ|naQs:$3=)Eu">var_fenster_gekippt</variable> <variable type="" id="DhL`*s-7|kUw=e@q/mo/">var_fenster_geschlossen</variable> <variable type="" id="Q!dr0|xbBMZfEjF}8{ex">var_gekippt_oder_offen</variable> <variable type="" id="b?%5%fXn!w`Ft,m~9C}C">var_text_fenster_offen</variable> <variable type="" id="6%kvOp_86|coob7n0tCg">var_text_fenster_geschlossen</variable> <variable type="" id="eVC#)Xjk3Fn4EhfdHvKE">var_text_fenster_gekippt</variable> </variables> <block type="procedures_defcustomnoreturn" id=".}seu`gD99^pXgi@37f:" disabled="true" x="13" y="63"> <mutation statements="false"></mutation> <field name="NAME">Datenpunkt_erstellen</field> <field name="SCRIPT">LyoqCiAqIENyZWF0ZSBzdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wIG9yIGphdmFzY3JpcHQueAogKiBDdXJyZW50IFZlcnNpb246ICAgICBodHRwczovL2dpdGh1Yi5jb20vTWljLU0vaW9icm9rZXIuY3JlYXRlVXNlclN0YXRlcwogKiBTdXBwb3J0OiAgICAgICAgICAgICBodHRwczovL2ZvcnVtLmlvYnJva2VyLm5ldC90b3BpYy8yNjgzOS8KICogQXV0b3I6ICAgICAgICAgICAgICAgTWljIChpb0Jyb2tlcikgfCBNaWMtTSAoZ2l0aHViKQogKiBWZXJzaW9uOiAgICAgICAgICAgICAxLjEgKDI2IEphbnVhcnkgMjAyMCkKICogRXhhbXBsZTogICAgICAgICAgICAgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWMtTS9pb2Jyb2tlci5jcmVhdGVVc2VyU3RhdGVzI2JlaXNwaWVsCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIFBMRUFTRSBOT1RFOiBQZXIgaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCwgdGhlIHVzZWQgZnVuY3Rpb24gc2V0T2JqZWN0KCkgCiAqICAgICAgICAgICAgICBleGVjdXRlcyB0aGUgY2FsbGJhY2sgUFJJT1IgdG8gY29tcGxldGluZyB0aGUgc3RhdGUgY3JlYXRpb24uIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlci4gCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqIEBwYXJhbSB7c3RyaW5nfSB3aGVyZSAgICAgICAgICBXaGVyZSB0byBjcmVhdGUgdGhlIHN0YXRlOiAnMF91c2VyZGF0YS4wJyBvciAnamF2YXNjcmlwdC54Jy4KICogQHBhcmFtIHtib29sZWFufSBmb3JjZSAgICAgICAgIEZvcmNlIHN0YXRlIGNyZWF0aW9uIChvdmVyd3JpdGUpLCBpZiBzdGF0ZSBpcyBleGlzdGluZy4KICogQHBhcmFtIHthcnJheX0gc3RhdGVzVG9DcmVhdGUgIFN0YXRlKHMpIHRvIGNyZWF0ZS4gc2luZ2xlIGFycmF5IG9yIGFycmF5IG9mIGFycmF5cwogKiBAcGFyYW0ge29iamVjdH0gW2NhbGxiYWNrXSAgICAgT3B0aW9uYWw6IGEgY2FsbGJhY2sgZnVuY3Rpb24gLS0gVGhpcyBwcm92aWRlZCBmdW5jdGlvbiB3aWxsIGJlIGV4ZWN1dGVkIGFmdGVyIGFsbCBzdGF0ZXMgYXJlIGNyZWF0ZWQuCiAqLwpmdW5jdGlvbiBjcmVhdGVVc2VyU3RhdGVzKHdoZXJlLCBmb3JjZSwgc3RhdGVzVG9DcmVhdGUsIGNhbGxiYWNrID0gdW5kZWZpbmVkKSB7CiAKICAgIGNvbnN0IFdBUk4gPSBmYWxzZTsgLy8gT25seSBmb3IgMF91c2VyZGF0YS4wOiBUaHJvd3Mgd2FybmluZyBpbiBsb2csIGlmIHN0YXRlIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIGZvcmNlPWZhbHNlLiBEZWZhdWx0IGlzIGZhbHNlLCBzbyBubyB3YXJuaW5nIGluIGxvZywgaWYgc3RhdGUgZXhpc3RzLgogICAgY29uc3QgTE9HX0RFQlVHID0gZmFsc2U7IC8vIFRvIGRlYnVnIHRoaXMgZnVuY3Rpb24sIHNldCB0byB0cnVlCiAgICAvLyBQZXIgaXNzdWUgIzQ3NCAoaHR0cHM6Ly9naXRodWIuY29tL2lvQnJva2VyL2lvQnJva2VyLmphdmFzY3JpcHQvaXNzdWVzLzQ3NCksIHRoZSB1c2VkIGZ1bmN0aW9uIHNldE9iamVjdCgpIGV4ZWN1dGVzIHRoZSBjYWxsYmFjayAKICAgIC8vIGJlZm9yZSB0aGUgc3RhdGUgaXMgYWN0dWFsIGNyZWF0ZWQuIFRoZXJlZm9yZSwgd2UgdXNlIGEgc2V0VGltZW91dCBhbmQgY291bnRlciBhcyBhIHdvcmthcm91bmQuCiAgICBjb25zdCBERUxBWSA9IDUwOyAvLyBEZWxheSBpbiBtaWxsaXNlY29uZHMgKG1zKS4gSW5jcmVhc2UgdGhpcyB0byAxMDAsIGlmIGl0IGlzIG5vdCB3b3JraW5nLgoKICAgIC8vIFZhbGlkYXRlICJ3aGVyZSIKICAgIGlmICh3aGVyZS5lbmRzV2l0aCgnLicpKSB3aGVyZSA9IHdoZXJlLnNsaWNlKDAsIC0xKTsgLy8gUmVtb3ZlIHRyYWlsaW5nIGRvdAogICAgaWYgKCAod2hlcmUubWF0Y2goL14oKGphdmFzY3JpcHRcLihbMS05XVswLTldfFswLTldKSkkfDBfdXNlcmRhdGFcLjAkKS8pID09IG51bGwpICkgewogICAgICAgIGxvZygnVGhpcyBzY3JpcHQgZG9lcyBub3Qgc3VwcG9ydCB0byBjcmVhdGUgc3RhdGVzIHVuZGVyIFsnICsgd2hlcmUgKyAnXScsICdlcnJvcicpOwogICAgICAgIHJldHVybjsKICAgIH0KCiAgICAvLyBQcmVwYXJlICJzdGF0ZXNUb0NyZWF0ZSIgc2luY2Ugd2UgYWxzbyBhbGxvdyBhIHNpbmdsZSBzdGF0ZSB0byBjcmVhdGUKICAgIGlmKCFBcnJheS5pc0FycmF5KHN0YXRlc1RvQ3JlYXRlWzBdKSkgc3RhdGVzVG9DcmVhdGUgPSBbc3RhdGVzVG9DcmVhdGVdOyAvLyB3cmFwIGludG8gYXJyYXksIGlmIGp1c3Qgb25lIGFycmF5IGFuZCBub3QgaW5zaWRlIGFuIGFycmF5CgogICAgLy8gQWRkICJ3aGVyZSIgdG8gU1RBVEVTX1RPX0NSRUFURQogICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdGF0ZXNUb0NyZWF0ZS5sZW5ndGg7IGkrKykgewogICAgICAgIGxldCBscFBhdGggPSBzdGF0ZXNUb0NyZWF0ZVtpXVswXS5yZXBsYWNlKC9cLipcLi9nLCAnLicpOyAvLyByZXBsYWNlIGFsbCBtdWx0aXBsZSBkb3RzIGxpa2UgJy4uJywgJy4uLicgd2l0aCBhIHNpbmdsZSAnLicKICAgICAgICBscFBhdGggPSBscFBhdGgucmVwbGFjZSgvXigoamF2YXNjcmlwdFwuKFsxLTldWzAtOV18WzAtOV0pXC4pfDBfdXNlcmRhdGFcLjBcLikvLCcnKSAvLyByZW1vdmUgYW55IGphdmFzY3JpcHQueC4gLyAwX3VzZXJkYXRhLjAuIGZyb20gYmVnaW5uaW5nCiAgICAgICAgbHBQYXRoID0gd2hlcmUgKyAnLicgKyBscFBhdGg7IC8vIGFkZCB3aGVyZSB0byBiZWdpbm5pbmcgb2Ygc3RyaW5nCiAgICAgICAgc3RhdGVzVG9DcmVhdGVbaV1bMF0gPSBscFBhdGg7CiAgICB9CgogICAgaWYgKHdoZXJlICE9ICcwX3VzZXJkYXRhLjAnKSB7CiAgICAgICAgLy8gQ3JlYXRlIFN0YXRlcyB1bmRlciBqYXZhc2NyaXB0LngKICAgICAgICBsZXQgbnVtU3RhdGVzID0gc3RhdGVzVG9DcmVhdGUubGVuZ3RoOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJyk7CiAgICAgICAgICAgIGxldCBsb29wSW5pdCA9IChsb29wUGFyYW1bMV1bJ2RlZiddID09IHVuZGVmaW5lZCkgPyBudWxsIDogbG9vcFBhcmFtWzFdWydkZWYnXTsgLy8gbWltaWMgc2FtZSBiZWhhdmlvciBhcyBjcmVhdGVTdGF0ZSBpZiBubyBpbml0IHZhbHVlIGlzIHByb3ZpZGVkCiAgICAgICAgICAgIGNyZWF0ZVN0YXRlKGxvb3BQYXJhbVswXSwgbG9vcEluaXQsIGZvcmNlLCBsb29wUGFyYW1bMV0sIGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgbnVtU3RhdGVzLS07CiAgICAgICAgICAgICAgICBpZiAobnVtU3RhdGVzID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgcHJvY2Vzc2VkLicpOwogICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHsgLy8gZXhlY3V0ZSBpZiBhIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCB0byBwYXJhbWV0ZXIgY2FsbGJhY2sKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEZ1bmN0aW9uIHRvIGNhbGxiYWNrIHBhcmFtZXRlciB3YXMgcHJvdmlkZWQnKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9IGVsc2UgewogICAgICAgIC8vIENyZWF0ZSBTdGF0ZXMgdW5kZXIgMF91c2VyZGF0YS4wCiAgICAgICAgbGV0IG51bVN0YXRlcyA9IHN0YXRlc1RvQ3JlYXRlLmxlbmd0aDsKICAgICAgICBsZXQgY291bnRlciA9IC0xOwogICAgICAgIHN0YXRlc1RvQ3JlYXRlLmZvckVhY2goZnVuY3Rpb24obG9vcFBhcmFtKSB7CiAgICAgICAgICAgIGNvdW50ZXIgKz0gMTsKICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nICgnW0RlYnVnXSBDdXJyZW50bHkgcHJvY2Vzc2luZyBmb2xsb3dpbmcgc3RhdGU6IFsnICsgbG9vcFBhcmFtWzBdICsgJ10nKTsKICAgICAgICAgICAgaWYoICgkKGxvb3BQYXJhbVswXSkubGVuZ3RoID4gMCkgJiYgKGV4aXN0c1N0YXRlKGxvb3BQYXJhbVswXSkpICkgeyAvLyBXb3JrYXJvdW5kIGR1ZSB0byBodHRwczovL2dpdGh1Yi5jb20vaW9Ccm9rZXIvaW9Ccm9rZXIuamF2YXNjcmlwdC9pc3N1ZXMvNDc4CiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBleGlzdGluZy4KICAgICAgICAgICAgICAgIGlmIChXQVJOICYmICFmb3JjZSkgbG9nKCdTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcgYW5kIHdpbGwgbm8gbG9uZ2VyIGJlIGNyZWF0ZWQuJywgJ3dhcm4nKTsKICAgICAgICAgICAgICAgIGlmICghV0FSTiAmJiBMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBTdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddIGlzIGFscmVhZHkgZXhpc3RpbmcuIE9wdGlvbiBmb3JjZSAoPW92ZXJ3cml0ZSkgaXMgc2V0IHRvIFsnICsgZm9yY2UgKyAnXS4nKTsKICAgICAgICAgICAgICAgIGlmKCFmb3JjZSkgewogICAgICAgICAgICAgICAgICAgIC8vIFN0YXRlIGV4aXN0cyBhbmQgc2hhbGwgbm90IGJlIG92ZXJ3cml0dGVuIHNpbmNlIGZvcmNlPWZhbHNlCiAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGRvIG5vdCBwcm9jZWVkLgogICAgICAgICAgICAgICAgICAgIG51bVN0YXRlcy0tOwogICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFsbCBzdGF0ZXMgc3VjY2Vzc2Z1bGx5IHByb2Nlc3NlZCEnKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKExPR19ERUJVRykgbG9nKCdbRGVidWddIEFuIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHdhcyBwcm92aWRlZCwgd2hpY2ggd2UgYXJlIGdvaW5nIHRvIGV4ZWN1dGUgbm93LicpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGdvIG91dCBhbmQgY29udGludWUgd2l0aCBuZXh0IGVsZW1lbnQgaW4gbG9vcC4KICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOyAvLyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8xODQ1MjkyMC9jb250aW51ZS1pbi1jdXJzb3ItZm9yZWFjaAogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0gLy8gaWYoIWZvcmNlKQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyBTdGF0ZSBpcyBub3QgZXhpc3Rpbmcgb3IgZm9yY2UgPSB0cnVlLCBzbyB3ZSBhcmUgY29udGludWluZyB0byBjcmVhdGUgdGhlIHN0YXRlIHRocm91Z2ggc2V0T2JqZWN0KCkuCiAgICAgICAgICAgIGxldCBvYmogPSB7fTsKICAgICAgICAgICAgb2JqLnR5cGUgPSAnc3RhdGUnOwogICAgICAgICAgICBvYmoubmF0aXZlID0ge307CiAgICAgICAgICAgIG9iai5jb21tb24gPSBsb29wUGFyYW1bMV07CiAgICAgICAgICAgIHNldE9iamVjdChsb29wUGFyYW1bMF0sIG9iaiwgZnVuY3Rpb24gKGVycikgewogICAgICAgICAgICAgICAgaWYgKGVycikgewogICAgICAgICAgICAgICAgICAgIGxvZygnQ2Fubm90IHdyaXRlIG9iamVjdCBmb3Igc3RhdGUgWycgKyBsb29wUGFyYW1bMF0gKyAnXTogJyArIGVycik7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmIChMT0dfREVCVUcpIGxvZygnW0RlYnVnXSBOb3cgd2UgYXJlIGNyZWF0aW5nIG5ldyBzdGF0ZSBbJyArIGxvb3BQYXJhbVswXSArICddJykKICAgICAgICAgICAgICAgICAgICBsZXQgaW5pdCA9IG51bGw7CiAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLmRlZiA9PT0gdW5kZWZpbmVkKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnbnVtYmVyJykgaW5pdCA9IDA7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGxvb3BQYXJhbVsxXS50eXBlID09PSAnYm9vbGVhbicpIGluaXQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYobG9vcFBhcmFtWzFdLnR5cGUgPT09ICdzdHJpbmcnKSBpbml0ID0gJyc7CiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IGxvb3BQYXJhbVsxXS5kZWY7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHNldFN0YXRlKGxvb3BQYXJhbVswXSwgaW5pdCwgdHJ1ZSwgZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gc2V0U3RhdGUgZHVyY2hnZWbDvGhydDogJyArIGxvb3BQYXJhbVswXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1TdGF0ZXMtLTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChudW1TdGF0ZXMgPT09IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gQWxsIHN0YXRlcyBwcm9jZXNzZWQuJyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJykgeyAvLyBleGVjdXRlIGlmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIHRvIHBhcmFtZXRlciBjYWxsYmFjawogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoTE9HX0RFQlVHKSBsb2coJ1tEZWJ1Z10gRnVuY3Rpb24gdG8gY2FsbGJhY2sgcGFyYW1ldGVyIHdhcyBwcm92aWRlZCcpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgICAgIH0sIERFTEFZICsgKDIwICogY291bnRlcikgKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSk7CiAgICAgICAgfSk7CiAgICB9Cn0KCmxldCBzdGF0ZXNUb0NyZWF0ZSA9IFsKICAgIAogICAgLy9GZW5zdGVyCiAgICBbJ1Rlc3QuRmVuc3Rlci5Lw7xjaGVuZmVuc3RlcicsIHsnbmFtZSc6J0vDvGNoZW5mZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5CYWRlemltbWVyZmVuc3RlcicsIHsnbmFtZSc6J0JhZGV6aW1tZXJmZW5zdGVyJywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0sCiAgICBbJ1Rlc3QuRmVuc3Rlci5XZXJrc3RhdHRmZW5zdGVyJywgeyduYW1lJzonV2Vya3N0YXR0ZmVuc3RlcicsICd0eXBlJzonc3RyaW5nJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidzdHJpbmcnLCAnZGVmJzonJ31dLAogICAgLy9BdXN3ZXJ0dW5nCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZcO2ZmZuZXQnLCB7J25hbWUnOidGZW5zdGVyX2dlw7ZmZm5ldCcsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dlw7ZmZm5ldCd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5GZW5zdGVyX2dla2lwcHQnLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHQnLCAndHlwZSc6J251bWJlcicsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonbnVtYmVyJywgJ3VuaXQnOidnZWtpcHB0J31dLAogICAgWydXb2hudW5nLlN0YXR1cy5GZW5zdGVyLkZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidGZW5zdGVyX2dlc2NobG9zc2VuJywgJ3R5cGUnOidudW1iZXInLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J251bWJlcicsICd1bml0JzonZ2VzY2hsb3NzZW4nfV0sCiAgICBbJ1dvaG51bmcuU3RhdHVzLkZlbnN0ZXIuRmVuc3Rlcl9nZWtpcHB0X29kZXJfb2ZmZW4nLCB7J25hbWUnOidGZW5zdGVyX2dla2lwcHRfb2Rlcl9vZmZlbicsICd0eXBlJzonbnVtYmVyJywgJ3JlYWQnOnRydWUsICd3cml0ZSc6dHJ1ZSwgJ3JvbGUnOidudW1iZXInLCAndW5pdCc6J2dla2lwcHQgb2RlciBvZmZlbid9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfb2ZmZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfb2ZmZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCB7J25hbWUnOidUZXh0X0ZlbnN0ZXJfZ2VzY2hsb3NzZW4nLCAndHlwZSc6J3N0cmluZycsICdyZWFkJzp0cnVlLCAnd3JpdGUnOnRydWUsICdyb2xlJzonc3RyaW5nJywgJ2RlZic6Jyd9XSwKICAgIFsnV29obnVuZy5TdGF0dXMuRmVuc3Rlci5UZXh0X0ZlbnN0ZXJfZ2VraXBwdCcsIHsnbmFtZSc6J1RleHRfRmVuc3Rlcl9nZWtpcHB0JywgJ3R5cGUnOidzdHJpbmcnLCAncmVhZCc6dHJ1ZSwgJ3dyaXRlJzp0cnVlLCAncm9sZSc6J3N0cmluZycsICdkZWYnOicnfV0KICAgIApdOyAgICAKY3JlYXRlVXNlclN0YXRlcygnMF91c2VyZGF0YS4wJywgdHJ1ZSwgc3RhdGVzVG9DcmVhdGUpOwo=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="geR:o({PyTnc(Sc5gB.:" x="13" y="113"> <field name="COMMENT">reagiere auf folgende Trigger</field> <next> <block type="procedures_callcustomnoreturn" id="Y(J+8eW-a^mbu))S=bB_" disabled="true"> <mutation name="Datenpunkt_erstellen"></mutation> <next> <block type="timeouts_settimeout" id="+Gk%Hxz^:(Vu2fU3uMOy"> <field name="NAME">Blockly_start</field> <field name="DELAY">1000</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="a%u~-DA;v9lz*7y_A:WS"> <mutation name="Fensterstatus"></mutation> </block> </statement> <next> <block type="comment" id="-[x6iQ8F2f/Qwfc!di@5"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id="w`V{-Z$TSJHD^w3Mhv[L"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="Z1]U/sdF5V*!~Ip5zG;n"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="WfxP0rlOpOKw)?Y3R7vR"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="1`$;p(lD.pfawVZ1!}IU"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="9qYGr4CdkO9)^sMLnwes"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="/00-df~G{q{oy$`Uh#kG"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="BKVG2gp$kl``tS32p,T4"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="XHe|v8~z%H}DdPk;Zp_r"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="Tdl3/XF*h}|M~s7K+_ZF"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`T;,z1M9sqS/R+@$}]T5"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="VMv-Y|2Q|j3`)gp,}9#b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="avcB2CO@{:|O49@D!$6^"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="!6|l#:oN0([^)$Yc^YH7"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="ExP%4X;!}S*9Ne)L815."> <field name="TEXT"></field> </block> </value> <next> <block type="on_ext" id="DgLM(@Y`m9+Ax*`]}ZYv"> <mutation items="3"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="MccWTVNiQj=Ev_+^s,pL"> <field name="oid">hm-rpc.0.0000D709955B95.1.STATE</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="Mrs,}xc]])?#Wa$w[FUu"> <field name="oid">hm-rpc.0.0000D709958ABE.1.STATE</field> </shadow> </value> <value name="OID2"> <shadow type="field_oid" id="hN3kCNp~e$@_2)VI6gB^"> <field name="oid">hm-rpc.0.0007D7099D0094.1.STATE</field> </shadow> </value> <statement name="STATEMENT"> <block type="procedures_callnoreturn" id="7?o_K3(srgL!,g:;gU-g"> <mutation name="Fensterstatus"></mutation> </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> <block type="procedures_defnoreturn" id="Xk^vR39OPj@](zj0l0ie" x="537" y="138"> <field name="NAME">Fensterstatus</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="a@L9O?y5TLjU-LM5(Urk"> <field name="COMMENT">Variable leeren</field> <next> <block type="variables_set" id=":H.wuG#*Yo7wd`F3{J#7"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="VALUE"> <block type="math_number" id="YarVMAh4Yxz188pV-xqH"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="y2WI?uN%yrW`vbHg`}1+"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="VALUE"> <block type="math_number" id="s7OCAH-QGxj4(49E_I[7"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="4YM9vFx)m%S/?|sy+L/K"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="VALUE"> <block type="math_number" id="xoOIp_`j%6Yvm)fO4H@b"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="(Gu9X1R-+OVV1||JYWoB"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="VALUE"> <block type="math_number" id="4J^L*J,iTc#?B`uw)VBV"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="2(lp]B!*k{s.{8][#iNn"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="VALUE"> <block type="text" id="`O#o({1]d,CG)LDi9lvg"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="|18Gm{CeFWL@fP,_;yQP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="VALUE"> <block type="text" id="yR]le$Qehw6w=g*Q7x(_"> <field name="TEXT"></field> </block> </value> <next> <block type="variables_set" id="^8D#R78R#fP@2mo38mQa"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="VALUE"> <block type="text" id="3?AaETaiw%+#1-;h1#`@"> <field name="TEXT"></field> </block> </value> <next> <block type="comment" id="glO*z5IXA{#CYu{RMsIe"> <field name="COMMENT">Küche</field> <next> <block type="controls_if" id="J2][l}#NSd|pngy0$L0="> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="mO]#1s+,MD,R8.Zq5nq6"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="I]jO~iP9%)1XhsK+q=gS"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="U.:8l|-o4c4p^Jgo*ZV?"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="V+Lqq?[{%#15_2gbKIst"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=",~d%=[C#3~h8Z$5u~%+@"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="HCVS}^ZKI87xqXjC=/V8"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="-+LTb`4N`3J|O#Vb|9y#"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="3-V7%LW.j]:m8R?xm`D|"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="a%3x?`hhvQ)(j!E:4KCa"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="FTtc9IzL,#7|7@:M;|h#"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="t3^uU`?7qM8|S,NHuq-?"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="nk3|QaDe]0JlMtc]`kj~"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Xo~iN~*^Xnt0P(zk};`k"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="30Amp1V/h6gj!5#[kIe_"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="X;KG2Sc2]tGkF,/ZSLY("> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="FkDsWc2P[PNCy=@3ae[r"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Fy)COP2ti!w_w=X|SevI"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="q^`qi.(M*$`X?#FpZD[4"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="[j8CM5Yxg/nIJQxi^A{y"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="!udUyEjuH2Df+GM(?r6~"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="Udo5W?O[hjo_Z:*}i?w`"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="Vp}1hVOG1koCX3D/y#ZJ"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="gdAQZ+.qY;Ry2pR610$("> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="y5dwS7Z[d0c:Odc|uLzL"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709955B95.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="-tRl3r_7*Ajlwx1(oUP{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="D;!HMDfrN~7m%sl0pnhI"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Küchenfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="V]y_{vL0$OhZ#Y4C+r{;"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id=",rD_tN|Rdpsz;#redWHj"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="H#w851jEyqW~Ub#o`6sJ"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="q(hTLe5^6W6cJ`YAb;Jd"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="[U#TVSVr%UU+/##%`k4W"> <field name="TEXT">Küche, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="Ydw`0n3@0ftZ7+U,}r_R"> <field name="COMMENT">Badezimmer</field> <next> <block type="controls_if" id="N~CHU22_MkH*VAX5s!xV"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="x}0?B9a8/|)]2.^+G_34"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="DtG7%]ZkM8OU4|T9[`FE"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="Sw[[2u%w5+Z)4y(D%F%C"> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="b.oXNz.%{iH5vOAY+B_y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id=")jM/7;BZrueDT|7q;iNV"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id=",hW}7cf`f=J}wH47muJ~"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="9QF7$`Z$s_D0$tkX(q=7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="JplL`/=~]iy(ITu;4=O7"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="sd7v+F0lh7jxlqTM@to7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="?Bc(bxJ11JWSIN][*7y+"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="Oad/M:ODDz971h$^61NP"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="m0u%$/QO(l1.:HO.E52="> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="6QSIvk^*{e=]o}^R;t;`"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="}wv/U0,ZMbo{RgpY=+B("> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id="dD@_qbM.S50+o8m.SQ.."> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="x}cG;Xn|D^p*o5V#b5QU"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id="Soc/.;N~x~/LRHtvPmjW"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="ldC95^aPu9Kbi#!Oc1?9"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="ezL]})RnyA{n-.cd8M*_"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="-cb:g!o^6Hw2*X`[%wb6"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id=":1;@t*xz=1wAlXOHybqu"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="seAD)^$m9oNzOiYwDNrf"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="nX!K![C+S_b!s]OG)l;d"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="cK;^Bieg:3Zl3#!O4]-@"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0000D709958ABE.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="_,K4[X!l+]ssFD%e%ruG"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%eHLjzdIvjp]%OLF)Z9y"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Badezimmerfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="*MkgG,L[XiNa^]16KcNr"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="ttfVeGya]{afz3JuF|N`"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="-^kT~z}~TfI8x{P-j|^N"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="4i@`tENHS^iX:zHs;9*b"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id="1j@V[[/5O+::UChH5RU2"> <field name="TEXT">Badezimmer, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="[~/l(#$5e`uo-cG1##pC"> <field name="COMMENT">Werkstatt</field> <next> <block type="controls_if" id="OP7*#wSk;c#[e-B[A*2P"> <mutation elseif="2"></mutation> <value name="IF0"> <block type="logic_compare" id="wnvMh(,O]Yh*i?iAI.qI"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="@89|YY-vGSv8I;as:6-o"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id=")8j+4.iQrF3GOXoev,2("> <field name="NUM">2</field> </block> </value> </block> </value> <statement name="DO0"> <block type="update" id="ARUgXh?}4{8zUZZ`B5+@"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="0E7V~Hoh*)(31.qF8J($"> <field name="TEXT">offen</field> </block> </value> <next> <block type="math_change" id="v+sMTPj4Nb_zbqdx%),z"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> <value name="DELTA"> <shadow type="math_number" id="0)+.{tIs6a=_6;dcg1f7"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="cUhl1{PO+M*=lU}54h7$"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id=":Na]Z.-?cD%{nrEWk.-A"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="m15IJ5^FwZk{}u-Asqhi"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> <value name="TEXT"> <shadow type="text" id="jA.BLs.}}lRtOWcE|5Dh"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="v{VVz]f+7/^T83F;qwCh"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="48Ue+W`T#5)$UvgB4CLV"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="PlAoGB3][LKO)FC-O!3D"> <field name="NUM">1</field> </block> </value> </block> </value> <statement name="DO1"> <block type="update" id=")VJa7kr26f1YX7tfK-p{"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="i})Q%_@#8`m+m=?XUOCQ"> <field name="TEXT">gekippt</field> </block> </value> <next> <block type="math_change" id=":*_G+[%r$^3(|@BH+JKb"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> <value name="DELTA"> <shadow type="math_number" id="O6mrs=Xd`$p]8ZR65s@x"> <field name="NUM">1</field> </shadow> </value> <next> <block type="math_change" id="=gTS{(lJP:lV0%{[=lgR"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> <value name="DELTA"> <shadow type="math_number" id="n?R}PhCBY97J$RdxA6Ef"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="mG]hiRc_,.]b?^R5x13U"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> <value name="TEXT"> <shadow type="text" id="b?,{4rjg3,XM=*64+Inc"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="IF2"> <block type="logic_compare" id="T5buE9$1:ZN^%B66`::Y"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="TF!FzD^Rp#OX|x1/V0f-"> <field name="ATTR">val</field> <field name="OID">hm-rpc.0.0007D7099D0094.1.STATE</field> </block> </value> <value name="B"> <block type="math_number" id="e7i(0d85q`1$DCuR56;~"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO2"> <block type="update" id="%~c$;JCReV$RsGh5NLv5"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.Fenster.Werkstattfenster</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="vkLs,63Ib+s%yY{n@Kfi"> <field name="TEXT">geschlossen</field> </block> </value> <next> <block type="math_change" id="W?uyh{av*NFFC{04|%k#"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> <value name="DELTA"> <shadow type="math_number" id="ZurkFDSHF}HjnaF2R.aH"> <field name="NUM">1</field> </shadow> </value> <next> <block type="text_append" id="qwEpW5DvWsvZ(hW|fulP"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> <value name="TEXT"> <shadow type="text" id=")}2T3DjV;)}0q`KjGvII"> <field name="TEXT">Werkstatt, </field> </shadow> </value> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="RDjYVBiEg%d{JKKqt*S9"> <field name="COMMENT">beschreibe Datenpunkte</field> <next> <block type="update" id="-3oB33jwlN508i-4E*}w"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geöffnet</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="xR{gt@Ts~#^Q9n|/7Vu5"> <field name="VAR" id="lORNh2Pt?czf/[Pfo.(1" variabletype="">var_fenster_offen</field> </block> </value> <next> <block type="update" id="a]e?hE7O*~=.S!87wjR:"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Y#BPd=k:t=5,G^{jnDF}"> <field name="VAR" id="6VGwAvuZ|naQs:$3=)Eu" variabletype="">var_fenster_gekippt</field> </block> </value> <next> <block type="update" id="dtp#.,MnI;VX2Y`qc.l7"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_geschlossen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="bQa7LPM/k)+@]-qIjJ1w"> <field name="VAR" id="DhL`*s-7|kUw=e@q/mo/" variabletype="">var_fenster_geschlossen</field> </block> </value> <next> <block type="update" id="rZ}wkcie,QM7pcU`PLXB"> <mutation delay_input="false"></mutation> <field name="OID">0_userdata.0.Wohnung.Status.Fenster.Fenster_gekippt_oder_offen</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="i~|ae^TsBqjwX~vZW|o;"> <field name="VAR" id="Q!dr0|xbBMZfEjF}8{ex" variabletype="">var_gekippt_oder_offen</field> </block> </value> <next> <block type="control_ex" id="XCf64K3Gz~M:BgGeoa@y" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="?[X/29n;(u{TATZZ~dec"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_offen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="9H9%GpT0qgY10(~!Pm[f"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id=".5(:l[`30E{!?e+KIr^!"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="KC/3LpVl3Gd~F{CI@bWx"> <field name="VAR" id="b?%5%fXn!w`Ft,m~9C}C" variabletype="">var_text_fenster_offen</field> </block> </value> <value name="AT2"> <block type="math_number" id="A?H)rLu=IeK_o$IE^ZnH"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="fWhjNhW-*YLrfuSN]2A~"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="!9f|*xHYCwQc-|finaI]" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="K`xH0x_jw(QW|KiXN^*D"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_geschlossen</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="VpfP}pqKK^lE{n`!NVNB"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="@gfzBds042An6nMOt:7y"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <block type="variables_get" id="mXvLHmk)x{ce!tghRB]n"> <field name="VAR" id="6%kvOp_86|coob7n0tCg" variabletype="">var_text_fenster_geschlossen</field> </block> </value> <value name="AT2"> <block type="math_number" id="P`+^%vH?))MH*^ckJ||D"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="9_LY!)*l[asJ3JTwZFCx"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="m6^lw2,!JEE[tKI*-`l6" inline="true"> <field name="TYPE">true</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="r;*JW6Hz*h7esb.hd3#B"> <field name="oid">0_userdata.0.Wohnung.Status.Fenster.Text_Fenster_gekippt</field> </shadow> </value> <value name="VALUE"> <shadow type="logic_boolean" id="}lHR]LNW)UPqJ;(*DNu1"> <field name="BOOL">TRUE</field> </shadow> <block type="text_getSubstring" id="j}2kpDWLFmr5T(:J.Qte"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_END</field> <value name="STRING"> <shadow type="text" id="EteP_lG{uP,pZJaNsx*p"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="7tl#dIaPWqa:wQUSuZA,"> <field name="VAR" id="eVC#)Xjk3Fn4EhfdHvKE" variabletype="">var_text_fenster_gekippt</field> </block> </value> <value name="AT2"> <block type="math_number" id="2yp=%?jUba8Rzi9:[Bc;"> <field name="NUM">3</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="~9F(v:%Bs:++-1=IWv%p"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml>
Ich habe mal drei Fenster von mir probiert....
-
@dos1973
Vorbau?
Du hast doch den Text in der Variablen "var_fenster_...").
Also packste die da rein (grüne Pfeile) und setzt es zusammen und auf "nimm Teil ab erster" umstellen. -
@dslraser
Oha, ah ja, "bis von hinten gibt's ja auch".
Aber wieso "3"? -
@dslraser : Vielen Dank!
ich hasse und liebe dieses Blockly
es klappt, endlich!das meine ich, ich habe den Einstige nicht gesehen - wo ich das grüne "text" puzzle reinsetzen muss.
ich habe auch nicht verstanden warum 3
ich habe den Text, ein Komma und ein Leerzeichen. ich hätte jetzt 2 erwartet?!?es klappt, ich darf gar nicht sagen wieviele Stunden ich heute und gestern an dem "Komma" gesessen habe. Dabei habe ich schon wieder einen neuen Wunsch erkannt - an dem versuche ich mich erst noch etwas
@padrino : Dir auch Danke
-
@dos1973
ich habe Deine steuere Bausteine gegen aktualisiere getauscht, da es eigene Datenpunkte sind. Ausserdem noch Deine "Textwerte" 0,1, und 2 gegen Zahlen getauscht. Deine Variablen erwarten an der Stelle auch Zahlen. -
@dslraser sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@dos1973
ich habe Deine steuere Bausteine gegen aktualisiere getauschdas aktualisieren und schreiben meinst du, richtig?
@dslraser sagte in [Vorlage] Blockly - Beliebiges Zeichen im Text tauschen:
@dos1973
Ausserdem noch Deine "Textwerte" 0,1, und 2 gegen Zahlen getauscht. Deine Variablen erwarten an der Stelle auch Zahlen.das verstehe ich nicht?
-
das hier hast Du in Deinem Blockly, die 2 hast Du als Text, ich als Zahl
Die Datenpunkte sind vom Typ number (in Deinem Vergleich hast Du aber string/Text)
Hier sind es auch Zahlen, das ist richtig
und das hier hast Du auch als steuere, ich als aktualisiere
-
Ahh stimmt. die Texte als Zahl
Habs verstanden.Besten Dank.