Weiter zum Inhalt

Blockly

6.6k Themen 79.7k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Sonnenaufgang/Untergang funktioniert nicht

    5
    1
    0 Stimmen
    5 Beiträge
    234 Aufrufe
    bergjetB
    @ferris sagte in Sonnenaufgang/Untergang funktioniert nicht: Durch die Negierung lässt sich da Problem umgehen. Danke.
  • Regelung Rolladen früh auf!

    3
    1
    0 Stimmen
    3 Beiträge
    227 Aufrufe
    DerMichaD
    @LaBamba Der Trigger immer außen und die Anweisung "steuere" bei der Falls-Bedingung mit rein.[image: 1610275517716-blockly.png]
  • Mathematische Probleme im Blockly [gelöst]

    blockly
    1
    1
    0 Stimmen
    1 Beiträge
    115 Aufrufe
    Niemand hat geantwortet
  • Monitor mit Bewegungmelder koppeln.. sporadisches Verhalten

    9
    1
    0 Stimmen
    9 Beiträge
    706 Aufrufe
    ?
    @paul53 sagte: Woher nimmst Du die Variable timeout für "stop timeout" ? Ach verdammt, das ist noch ein Fehler im Programmablauf den ich vergessen habe zu löschen. Die Variable "timeout" wird für die Variante 1 nicht benötig und sollte gelöscht werden. Der Haken bei "löschen falls läuft" ist wichtig. ja, ganz genau, sonst würde weiterhin der von @rubi007 beschriebene Fehler auftreten. Variante 1 nochmal korrigiert: [image: 1610217036321-001e82d2-2372-4d59-9bc4-c1b930571b4f-image.png] <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="?$ZL{)2ZrU?V0x83{lJr" x="838" y="213"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="yNzDiLRx@jk{)/w0~Cos"> <field name="oid">default</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="55;}3SEt7To9QDNn.i-U"> <field name="COMMENT">Monitor ein sofern eine Bewegung erkannt wurde</field> <next> <block type="controls_if" id="XZPE*IGWxQ`/sWhiD}Xx"> <value name="IF0"> <block type="on_source" id="J!lUX,GiUaSJG{KpdSa1"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="comment" id="QPJZHFFLVWWdD^30~t-z"> <field name="COMMENT">Schaltet den Monitor ein</field> <next> <block type="control" id="DMK?M;{W-jB3taA4pJwW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="f^=Yz[wvo?-{z:[jOx.I"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="comment" id=",c5Mk?0Lz$bDcZZW:M4s"> <field name="COMMENT">Schaltet den Monitor verzögert aus</field> <next> <block type="control" id="wBbgV9}phr{qN,Wb[W=r"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">5</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="1o-AG]v?Bkte.o(-Mx3)"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block>
  • Behandlung Sprachkommando durch Alexa per Blockly stoppen

    blockly
    6
    0 Stimmen
    6 Beiträge
    556 Aufrufe
    H
    @frankyboy73 Ja, Danke. Wollte halt ´ne Lösung innerhalb des IOBrokers finden. Der Shelly ist auch über die Alexa Smart home Umgebung erreichbar, aber das gilt nicht für alle meine IOTs.
  • Blockly Standort Regel

    blockly
    8
    0 Stimmen
    8 Beiträge
    706 Aufrufe
    SunkHDS
    @Dr-Bakterius ja hast recht es ist dann nur ein Quadrat xD. Pass aber auch so aber ich werde mal deine Version ausprobieren
  • Shelly unterscheidung Short / Long Push

    1
    1
    0 Stimmen
    1 Beiträge
    499 Aufrufe
    Niemand hat geantwortet
  • [Gelöst] Rolladen mit Blockly Script steuern

    61
    6
    0 Stimmen
    61 Beiträge
    5k Aufrufe
    A
    @paul53 Alles klar. Vielen Dank
  • Mittelwert aus 2 Temperatur Sensoren bilden.

    2
    0 Stimmen
    2 Beiträge
    311 Aufrufe
    ChaotC
    @balzmatthias Importier dir mal das Blockly: Mittelwert.txt
  • Dimmen per Rampe

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    S
    @Nashra
  • Blockly. Thermostatsteuerung mit Datum (Winterbereich)

    blockly
    5
    1
    0 Stimmen
    5 Beiträge
    203 Aufrufe
    R
    @paul53 Danke für die Mühe
  • Blockly Trigger durch starten

    blockly javascript
    10
    1
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    bergjetB
    @Asgothian Gibt es eine Erklärung, weshalb dieses Blockly nicht startet? Es sollte alle 2 Stunden von Sonnenuntergang bis Sonnenaufgang laufen. [image: 1609961239536-bildschirmfoto-2021-01-06-um-20.21.20.png] [image: 1609961245762-bildschirmfoto-2021-01-06-um-20.23.02.png]
  • Blockly in Verbindung mit einer "dynamischen" Vari. [gelöst]

    blockly
    30
    3
    0 Stimmen
    30 Beiträge
    2k Aufrufe
    S
    @Homoran ja und nein :-) Wenn es um die Logik geht einen Alarm beim unterschreiten des Datenpunkt zu bekommen, dann greift genau dieses Blocklyskript. In der Folge der Diskussion ging es um das setzten der "Zahl" für den Datenpunkt "Benzinlimit". Hier kommt text2command zum Einsatz und hat eine eigene Quittungsfunktion (Bestätigungstext). in der ich auf {Objekte} verweisen kann. Als Objekt habe ich hier im Moment noch den Datenpunkt "Benzinlimit" direkt angegeben, könnte aber natürlich auch ein Skript hinterlegen. Das habe ich aber noch nicht gemacht da es mir doch sehr aufwendig erscheint. Immerhin geht es nur um die Anzeige wenn das Limit auf 1.00, 1.10, 1.20, 1.30 steht. :-) PS. Einen Dieselpreis von 0,90 erwarte ich mal auf lange Zeit nicht mehr.
  • String schneiden, aber verschiedene Längen der Strings

    15
    0 Stimmen
    15 Beiträge
    909 Aufrufe
    Q
    @paul53 sagte in String schneiden, aber verschiedene Längen der Strings: @quorle sagte: Kann man eigentlich nun auch zählen wie viel oben und unten sind in dem Script und in eine variable schreiben? Man kann. Dein Skript ist mit den vielen Schleifen viel zu umständlich. Versuche es mal so: [image: 1609851535491-blockly_temp.jpg] Export <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="V2M7szHj0grpg_E~L6Y:">Liste</variable> <variable id="K@h0-NY5VaI|@t!5/iJh">Wert</variable> <variable id="Fwt*3`3ScyT(qDt?gf(T">ObjectID</variable> <variable id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</variable> <variable id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</variable> <variable id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</variable> <variable id="uraW(G+9^E9Lr!q;.Md?">id</variable> </variables> <block type="procedures_defcustomreturn" id="!t;U0AgoNU@W*^{W;)1~" x="-112" y="-837"> <mutation statements="false"> <arg name="Liste" varid="V2M7szHj0grpg_E~L6Y:"></arg> <arg name="Wert" varid="K@h0-NY5VaI|@t!5/iJh"></arg> </mutation> <field name="NAME">Multisort</field> <field name="SCRIPT">dmFyIFdlcnQgPSBXZXJ0IC0gMTsgCkxpc3RlLnNvcnQoZnVuY3Rpb24oYSwgYil7CiAgICByZXR1cm4gYltXZXJ0XSAtIGFbV2VydF07Cn0pOwpyZXR1cm4gTGlzdGU7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="on_ext" id="RT3@Kxqxg#w3f=(kzwCu" x="-112" y="-735"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="0)0sp$I1ccfm%4Sde-mT"> <field name="oid">default</field> </shadow> <block type="selector" id=",lvP%A]1J?Mf^@0s2D%["> <field name="TEXT">*_Position(functions=blinds)</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="EaZb.Nmx4%jg9Z;%%B!-"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> <value name="VALUE"> <block type="lists_create_with" id="~_)rel.JNGZRd1wA{I--"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id="Rg09a5devTzI@~mc((BK"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> <value name="VALUE"> <block type="math_number" id="D`W+|xQ}PEab+LYj!B@A"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id="v,No$zUXNav[}}JQf,ZZ"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> <value name="VALUE"> <block type="math_number" id="NJT#^AM7euPLck8(G#|:"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_forEach" id="~PaFX`X@5n{TM9K^{Jw6"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> <value name="LIST"> <block type="selector" id="xQ^Q5{h5V@5PLI+YO@i."> <field name="TEXT">*_Position(functions=blinds)</field> </block> </value> <statement name="DO"> <block type="controls_if" id="-3J;6~}7Ac!D}IR`/Dr1"> <value name="IF0"> <block type="get_value_var" id=")kSAuROX6lA-U2N,FJ1Q"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text" id="e+?Z+-m0_DLYGl{zT3ix"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="!fALmmY3PSF+?rGHUXQ,"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="cM#MFD=^jNWob(9vz(~1"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="/265%H+GD.faL*#TGbo?"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="D7{4xbOR6X[.m+}Gx2Ho"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="Zz2Xzj7TsWbSq@8F2;ov"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> <value name="FIND"> <shadow type="text" id="eWKTwrgb)ipsurHrTf;@"> <field name="TEXT">obere</field> </shadow> </value> </block> </value> <value name="B"> <block type="math_number" id="KV8yK1aY_dsTB2S5#DK{"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="Xm0emo(nJ`lakFJ=fdQ,"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> <value name="DELTA"> <shadow type="math_number" id="Nhv{UJ+eb?8=6gCSRKYF"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="-zUiNM(}BsoQ].Hu.|mx"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="Q0Hct8=ken4m!!W]js)U"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <value name="TO"> <block type="text_join" id="i78-ZD4kMuS4);ga}wX|"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="2fUjFt9g8rVF/XheoN.x" inline="true"> <mutation name="Name"> <arg name="ObjectID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="k:Is?gkGPl/=r1X^,k3K"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="|0D6ha=gppa[@Eg.-.8s"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT"> TT.MM. SS:mm</field> <value name="VALUE"> <block type="get_value_var" id="ZH.h{PJzN,EeXI-)JVDH"> <field name="ATTR">lc</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="!@Z.|vd8M+75I$7U.crR"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="pb?%cBnC:CV9Pp[xuR!O"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="3rx0SYiP2)+Y{$eE|7DA"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="gxDL([28Hv_RM:?@9sbj"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> <value name="FIND"> <shadow type="text" id="t9UdlU$/{%nf^#mLYHHu"> <field name="TEXT">untere</field> </shadow> </value> </block> </value> <value name="B"> <block type="math_number" id="i%Dd$:Snq*_lODz73K6)"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="math_change" id="n08y(+kju{gJ#pyG3/W5"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> <value name="DELTA"> <shadow type="math_number" id="U.dCdkI;6zYJkx2A)VaY"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="rfj~2?mWi*xoG|jXMjt|"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="v/]gQGCApHoHYbKtrJG;"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <value name="TO"> <block type="text_join" id="]e[t+(}_A7^gzs5.U*~q"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="Hq1-E:q$vJE$IYjVZ,i/" inline="true"> <mutation name="Name"> <arg name="ObjectID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="S)LfIM+$*JhdbEW;Q~E`"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="glk6{Cn7R#cUCDBzx?^o"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT"> TT.MM. SS:mm</field> <value name="VALUE"> <block type="get_value_var" id="NiotF+D`lg(W|88`%Ip`"> <field name="ATTR">lc</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="1{rQ-nXbR/eW{!nTrSHI"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">id</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="control" id="dI4yke%zrI0vqI$=7|!P"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.test.Test_gemischt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="lists_split" id="l{~(EszGg~`4S_3_-$rn"> <mutation mode="JOIN"></mutation> <field name="MODE">JOIN</field> <value name="INPUT"> <block type="variables_get" id="1Q0Efv^4i*zZNN~`bBg,"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <value name="DELIM"> <shadow type="text" id="K]k6H=9zZXoha?FUPY@P"> <field name="TEXT">, </field> </shadow> </value> </block> </value> <next> <block type="debug" id="~Vo($,geEl2,#rc::T.Z"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="Xd:Vq-I5{mP!=A*aFHlD"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id=":4Hv{U)2~sO03*}{H0MM"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <next> <block type="update" id=":^6h2|*GBzTe.;V()/}2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="6gFUj8w1JZZL_Q.+g?s9"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> </block> </value> <next> <block type="update" id="(AA]_@W4q2P53LIa#ue["> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="#BAAF+DP9=zz2vN`$C-s"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> <block type="procedures_defcustomreturn" id="]lQM=r`L^2M}s^@n(USH" x="438" y="-687"> <mutation statements="false"> <arg name="ObjectID" varid="Fwt*3`3ScyT(qDt?gf(T"></arg> </mutation> <field name="NAME">Name</field> <field name="SCRIPT">bGV0IG5hbWUgPSBnZXRPYmplY3QoT2JqZWN0SUQpLmNvbW1vbi5uYW1lLnN1YnN0cmluZygxMik7Cm5hbWUgPSBuYW1lLnJlcGxhY2UoJ1N0YXR1cyBvYmVyZSBQb3NpdGlvbicsICdvYmVuJyk7Cm5hbWUgPSBuYW1lLnJlcGxhY2UoJ1N0YXR1cyB1bnRlcmUgUG9zaXRpb24nLCAndW50ZW4nKTsKcmV0dXJuICI8Yj4iK25hbWUrIjwvYj4iOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml> Aktuell sieht das Script so aus: [image: 1609938428942-unbenannt.png] Spoiler <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Fwt*3`3ScyT(qDt?gf(T">ObjectID</variable> <variable id="V2M7szHj0grpg_E~L6Y:">Liste</variable> <variable id="K@h0-NY5VaI|@t!5/iJh">Wert</variable> <variable id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</variable> <variable id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</variable> <variable id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</variable> <variable id="uraW(G+9^E9Lr!q;.Md?">i</variable> </variables> <block type="procedures_defcustomreturn" id="]lQM=r`L^2M}s^@n(USH" x="-2912" y="-1837"> <mutation statements="false"> <arg name="ObjectID" varid="Fwt*3`3ScyT(qDt?gf(T"></arg> </mutation> <field name="NAME">Name</field> <field name="SCRIPT">Ly9sZXQgbmFtZSA9IGdldE9iamVjdChPYmplY3RJRCkuY29tbW9uLm5hbWU7Ci8vaWYodHlwZW9mIHJvb20gPT0gJ29iamVjdCcpIHJldHVybiByb29tLmRlOwovL3JldHVybiAiPGI+IituYW1lKyI8L2I+IjsKCmxldCBuYW1lID0gZ2V0T2JqZWN0KE9iamVjdElEKS5jb21tb24ubmFtZS5zdWJzdHJpbmcoMTIpOwpuYW1lID0gbmFtZS5yZXBsYWNlKCdTdGF0dXMgb2JlcmUgUG9zaXRpb24nLCAnb2JlbicpOwpuYW1lID0gbmFtZS5yZXBsYWNlKCdTdGF0dXMgdW50ZXJlIFBvc2l0aW9uJywgJ3VudGVuJyk7CnJldHVybiBuYW1lOwovL3JldHVybiAiPGI+IituYW1lKyI8L2I+Ijs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomreturn" id="!t;U0AgoNU@W*^{W;)1~" x="-2913" y="-1813"> <mutation statements="false"> <arg name="Liste" varid="V2M7szHj0grpg_E~L6Y:"></arg> <arg name="Wert" varid="K@h0-NY5VaI|@t!5/iJh"></arg> </mutation> <field name="NAME">Multisort</field> <field name="SCRIPT">dmFyIFdlcnQgPSBXZXJ0IC0gMTsgCkxpc3RlLnNvcnQoZnVuY3Rpb24oYSwgYil7CiAgICByZXR1cm4gYltXZXJ0XSAtIGFbV2VydF07Cn0pOwpyZXR1cm4gTGlzdGU7</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="schedule" id="U~V~{$+oNT7G$A}5I|[2" x="-3112" y="-1788"> <field name="SCHEDULE">*/30 * * * * *</field> <statement name="STATEMENT"> <block type="variables_set" id="Y?v56U`~!`AjkFq)^AUg"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> <value name="VALUE"> <block type="lists_create_with" id="-wzs^IFjDKMl(%An7+gz"> <mutation items="0"></mutation> </block> </value> <next> <block type="variables_set" id=",-Y7=lO+B.anWY83}edn"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> <value name="VALUE"> <block type="math_number" id="(JCq-EECHqgkeM^tdo%?"> <field name="NUM">0</field> </block> </value> <next> <block type="variables_set" id=";H+x;3L*).EIV==JPBwf"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> <value name="VALUE"> <block type="math_number" id="JcJG(jkodro3Mg.,Sv-C"> <field name="NUM">0</field> </block> </value> <next> <block type="controls_forEach" id="@_hkYw{:7yYk)G9@=xt1"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> <value name="LIST"> <block type="selector" id="9-v`j#^eq;JD#WVY/[|n"> <field name="TEXT">*_Position(functions=blinds)</field> </block> </value> <statement name="DO"> <block type="controls_if" id="Lhima?hHvPo7{@T^l|ag"> <value name="IF0"> <block type="get_value_var" id="xQ1MI17D1QcaqeJ{U/w%"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="6*nMuh:6yH08HyS;a7c("> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="AlJKJHk}X+Oy6t#]_eqs"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="{koFYcYw#o/;BJ`)0HsD"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id="uUJYW;y/e{D.Mjn$zz?:"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="J8wkDI:xb{?gcGq*Dy6?"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="c_/p.^p2TALt4gUV!goi"> <field name="TEXT">obere</field> </shadow> </value> </block> </value> <value name="B"> <block type="math_number" id="0izo8/VZEkP}g1cEi_Ve"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="math_change" id="SicIt^|pgO5Y?2htQ,?C"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> <value name="DELTA"> <shadow type="math_number" id="hZnXXv;:2t^0k2LG|YKE"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="pHV.zvZ`Ee%MlC$(hJdP"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="!7CetrTsn1Tbb`K?4lCJ"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <value name="TO"> <block type="text_join" id=";7`[nwtLmM9SXh2[VePK"> <mutation items="8"></mutation> <value name="ADD0"> <block type="text" id="cWA1Noz*)a8xs6dU%~j*"> <field name="TEXT">&lt;div class="headline"&gt;&lt;b&gt;Geöffnet&lt;/b&gt;&lt;/div&gt;&lt;table class="table-status"&gt;&lt;tbody&gt;</field> </block> </value> <value name="ADD1"> <block type="text" id="j?`NI/7Gacv}dFN.+$PE"> <field name="TEXT">&lt;tr&gt;&lt;td&gt;&lt;img src="/vis-icontwo/Doors_Windows/window_open.png"&gt;&lt;/td&gt;&lt;td&gt;</field> </block> </value> <value name="ADD2"> <block type="procedures_callcustomreturn" id="NGG)9(G_Mh^`onb!D8$6" inline="true"> <mutation name="Name"> <arg name="ObjectID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id="?wEYH~Kcw}$RqZKZ-l^R"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> </block> </value> <value name="ADD3"> <block type="text" id=",FstDM5*y1X5@,$t;^[k"> <field name="TEXT">&lt;/td&gt;&lt;td&gt;&lt;span class=""&gt;&lt;i&gt;Letzte Änderung:&lt;/i&gt;&lt;br&gt;</field> </block> </value> <value name="ADD4"> <block type="convert_from_date" id="dW)z:)3tr(pVtn,tbes*"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT"> TT.MM. SS:mm</field> <value name="VALUE"> <block type="get_value_var" id="SXt#AcI#UU[?U|Am4TZ7"> <field name="ATTR">lc</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="]^@cW$Fx+kc4JV8{5P^h"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> </block> </value> </block> </value> <value name="ADD5"> <block type="text" id="@n3wTEG3`D{hPv(e[Wr)" disabled="true"> <field name="TEXT">, </field> </block> </value> <value name="ADD6"> <block type="text" id="w]zt{}A*8rLlwGa7H=Ty"> <field name="TEXT"> Uhr&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;</field> </block> </value> <value name="ADD7"> <block type="text" id="D!W$Z|ArD?[_4g8-m6(?"> <field name="TEXT">&lt;/tbody&gt;&lt;/table&gt;</field> </block> </value> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="~*@F)VMBFc(w!$qRg40W"> <field name="OP">GT</field> <value name="A"> <block type="text_indexOf" id=";=Hov;.1y|aV_VH8NEvw"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="+9.NaVs4Mv]3^T1Y]Y.H"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="C3Kk~CRp]$=n8?lh5?wR"> <field name="TEXT">untere</field> </shadow> </value> </block> </value> <value name="B"> <block type="math_number" id=")FY$sXKUSdJ2(8rRo2AW"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO1"> <block type="math_change" id="m^*C+iXK)+re,yVXaTHY"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> <value name="DELTA"> <shadow type="math_number" id="$$u`hOLT3JLU*|y7(p}Z"> <field name="NUM">1</field> </shadow> </value> <next> <block type="lists_setIndex" id="3`7$=NbE`v2%r(f,:g*:"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">LAST</field> <value name="LIST"> <block type="variables_get" id="c#*wNZPBGY--wr9o`7Az"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <value name="TO"> <block type="text_join" id="Qu`F-eBRhn@+Xj[oRcoV"> <mutation items="2"></mutation> <value name="ADD0"> <block type="procedures_callcustomreturn" id="w8k]swRCpOEkyK^4-?N(" inline="true"> <mutation name="Name"> <arg name="ObjectID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=":2HC17vC@u+{Jv,fFXNx"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> </block> </value> <value name="ADD1"> <block type="convert_from_date" id="^wv-+r!P6U|Gg[fpq2z?"> <mutation xmlns="http://www.w3.org/1999/xhtml" format="true" language="false"></mutation> <field name="OPTION">custom</field> <field name="FORMAT"> TT.MM. SS:mm</field> <value name="VALUE"> <block type="get_value_var" id="t$7zQo/6y$=T%lV]k88x"> <field name="ATTR">lc</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="{.cN7YMPgkCC|Fjii0m0"> <field name="VAR" id="uraW(G+9^E9Lr!q;.Md?">i</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> <next> <block type="control" id="U?`nI[_PT#U2_z|@r]Pv"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">javascript.0.test.Test_gemischt</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="=!qc*Nnq^As6.HW,*A$~"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <next> <block type="debug" id="icjpi.$VpX37L)?A.WQ/"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text" id="IX;R|uAvIff)MjVN0)fT"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="piB3m/4X{q^6TpYmIJ*#"> <field name="VAR" id="cTIvd#0frb]}?DN^7oUd">Liste-komplett</field> </block> </value> <next> <block type="debug" id="BC#*R9wLmOEh;e#8vFa("> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="2A_6ot|rN~N6s+rd?c(F"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="O.%DK{PYse{%YG+R2-6)"> <field name="TEXT">Anzahl oben: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="tEA*g,2*FlUc?0wQcnBw"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> </block> </value> </block> </value> <next> <block type="debug" id="DnR^zfOH(ejKZb8zR|,`"> <field name="Severity">warn</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="5iA0`]4GwclS!!EC.kuB"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="nIG{95iGc+EjrO/XAg,4"> <field name="TEXT">Anzahl unten: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Pc]1Hm{@)#e_h[4sSJxK"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> </block> </value> </block> </value> <next> <block type="update" id="5b/LFn]8tj/g`IT-roDz" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="Ua04oSkg=sSQ|q)U7B:N"> <field name="VAR" id="W6/l[G~B{Zwv5)Rz4siZ">anzahl_oben</field> </block> </value> <next> <block type="update" id="/e1kI=6y0KpWq+!tm6b^" disabled="true"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="8OHvEo|MR4wLXHMctk!X"> <field name="VAR" id="Sk[;o=!/U_$I6Wr,/;!b">anzahl_unten</field> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </xml> Wenn ich in der VIS ein HTML nehme und den Datenpunkt eintrage, wird es auch angezeigt. Aber kann man dies eventuell so Sortieren, dass ein Bild angezeigt wird für "geöffnet" und dann neben dem Bild, untereinander die Namen der Offenen Punkte angezeigt wird? Und für geschlossen das selbe?
  • Fenster offen Mitteilung auf mehrere Fenster umsetzten

    3
    1
    0 Stimmen
    3 Beiträge
    678 Aufrufe
    K
    @IObroker_chris Dein Ansatz ist besser als meiner von heute Morgen. Ich habe jetzt nur das Problem dass Dein Skript nur anläuft wenn das Fenster seinen Zustand wenigstens einmal ändert.
  • Skript nur einmal ausführen pro Einschalten der Steckdose

    4
    1
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    A
    Nach etlichen Stunden habe ich die Lösung gefunden und diese ist eigentlich auch ziemlich einfach: [image: 1609877694962-licht2.png] Es wird jetzt zusätzlich überprüft, ob der (selbst erstellte) DP "Büro-Licht-an" auf 0 steht. Wenn das der Fall ist, wird das Licht eingeschaltet und "Büro-Licht-an" bekommt den Wert 1. Somit kann das Licht nicht mehr eingeschaltet werden, da die Bedingung "Büro-Licht-an" auf 0 nicht mehr gegeben ist. Diese wird mit dem Ausschalten der Steckdose wieder auf 0 zurückgesetzt. @jensven Nein, an der Steckdose hängt alles was mit dem PC zu tun hat. Die "Lampe" ist eigentlich ein Philips Hue LightStrip+ @paul53 Danke für den Tipp, das mit dem Timeout hat sich jetzt eh erledigt.
  • Bockly Runden auf 1 Nachkommastelle erzwingen, auch bei 0

    blockly
    4
    1
    0 Stimmen
    4 Beiträge
    325 Aufrufe
    paul53P
    @nik82 sagte: Funktioniert Das Ergebnis ist aber ein String - keine Zahl.
  • Fenster - geöffnete Zeit

    3
    0 Stimmen
    3 Beiträge
    210 Aufrufe
    S
    @paul53 vielen Dank, damit bekomme ich es hoffentlich hin Stefan
  • blockly eleganter machen

    blockly
    72
    1
    0 Stimmen
    72 Beiträge
    7k Aufrufe
    David G.D
    @dos1973 Da kann ich dir leider auch nicht weiterhelfen. Hab ja nur die Dinge von weiter oben genommen und noch was HTML beigefügt. Das hatte ich vor 15 Jahren mal in der Schule :-D Wenn man das, was man von da noch im Kopf hat, mit einem Online-HTML-Tabellengenerator vereint bekommt man es gerade noch so hin^^.
  • webseite auslesen und in Datenpunkte darstellen json

    17
    2
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    GarganoG
    @LukyLuke Hier mal das Script zum Anschauen und evtl. Ausprobieren. Liest jede Minute den Zustand des Tores ein und speichert den Zustand in '0_userdata.0.Tor.Connected' und '0_userdata.0.Tor.Hi' Vorher das npm Module axios in de JS Instanz eintragen [image: 1609850643534-2c383cee-48f7-403c-9b8b-69a909051265-grafik.png] const prefix = '0_userdata.0.'; //'javascript.0.'; // const idTorConnected = prefix+"Tor.Connected"; const idTorHi = prefix+"Tor.Hi"; const creatStateList = [ {name :idTorConnected, type:"boolean", role : "value"}, {name :idTorHi, type:"boolean", role : "value"} ] async function createState (item){ await createStateAsync(item.name, { type: item.type, min: 0, def: 0, role: item.role }); } async function makeStatList() { creatStateList.forEach (function(item) { createState(item); }); } makeStatList(); const axios = require('axios'); const url = 'https://svr39.supla.org/direct/**************/read?format=json'; // mySchedule im JS Editor mit dem Uhrsymbol oben rechts erstellen var mySchedule ='* * * * *'; // jede Minute schedule(mySchedule, getTor); function getTor() { axios.get(url) .then(function (response) { // handle success let tor = response.data; console.log ('JSON '+JSON.stringify(tor)); setState(idTorConnected, tor.connected); setState(idTorHi, tor.hi); }) .catch(function (error) { // handle error console.log(error); }) }

249

Online

32.7k

Benutzer

82.6k

Themen

1.3m

Beiträge