Skip to content

Skripten / Logik

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

16.6k Topics 214.0k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    RoddiEFR
    @crunchip Wäre schön wenn das etwas genauer Beschrieben ist. Ich bekomme noch folgende Fehler: [image: 1773669536734-screenshot-2026-03-16-145718.png] [image: 1773669548287-screenshot-2026-03-16-145743.png]
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    Murphy 0M
    Bei 19% hat das Blockly abgeschaltet. Seit 2 Tagen nicht kalibriert. [image: 1773614994393-img_3949-resized.png]
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • [gelöst] Selektor ($) Funktionsweise in Verbindung mit "channel"

    Moved
    6
    1
    0 Votes
    6 Posts
    1k Views
    D
    @paul53: Das ist offenbar ein Bug. Deshalb verwende $('*.LOWBAT'). ` Damit funktioniert es, bzw. ist dann die Antwort auf die Frage, danke!
  • Alarm Ansage mit Wiederholung per Script

    Moved
    9
    0 Votes
    9 Posts
    1k Views
    S
    Hallo Paul, das wars, nachdem ich die variable "count" noch deklariert habe, lauft es. Vielen leiben Dank ….. Gruß Stephan :D
  • Vorschlag: Sammlung von SQL Statements (als Funktionen)

    Moved
    13
    0 Votes
    13 Posts
    4k Views
    P
    Ehm, wie läuft ne dein Query ohne Wrapper? Kann ich auch nur den DAtenpunktpfad angeben oder muss ich die ID vom SQL Datenpunkt angeben. Oder ist es einfacher den Wrapper zu installieren, nur den hab ich bisher noch nicht gefunden. Gruß und Danke Update: Ich hab es soweit hinbekommen, dass ich Daten vom SQL bekomme. ich musste auf Mysql noch was in der Config ändern, damit die Abfrage lief. wurde das Script eventuel noch erweitert? Von meinen Wärmezähler kommen leider nur Wh, kein kWh. Bei den Geräten müsste man noch einen Parameter übergeben, ob noch mal ein Teiler genommen wird oder nicht. Gruß
  • Beispiel Blockly Szene Kinoabend

    Moved
    53
    0 Votes
    53 Posts
    8k Views
    dslraserD
    @maverickmu: Vielen Dank für deine ausführlichen Blockly und Beschreibungen, für uns lausige Anfänger ist das TOP. Welchen Bewegungsmelder nutzt du denn mit Helligkeitssensor? Irgendwelche Empfehlungen? Besten Dank ` Ich nutze einen Homematic IP Bewegungsmelder. Nochmal zum Blockly. Das habe ich mir nochmal deutlich vereinfacht und nun alles in einem Script mit nur einem Datenpunkt bzw Trigger. Stelle ich Dir dann hier nochmal zur Verfügung wenn Du willst. In diesem Beispiel wird z.B. die activitie Fernsehen (Harmony Hub) eingeschaltet und 4 Lampen dazu eingeschaltet. Wenn es draussen noch hell genug ist werden die 4 Lampen langsam runter gedimmt und ausgeschaltet. Ist es fast dunkel bleiben die Lampen an. Beim ausschalten lasse ich alle Lampen nochmal kurz anschalten und dann gleichzeitig langsam runter dimmen bis es aus geht. Funktioniert dann über diese Variante mit Alexa und der Fernbedienung. Blockly Export ! ```` <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="55@yN/Bd.4.Zl:.QX]zj" x="-1463" y="-713"><mutation items="1"></mutation> <field name="CONDITION">any</field> <value name="OID0"><shadow type="field_oid" id="W^r22S90au(LBao+qr~s"><field name="oid">harmony.0.Wohnzimmer.activities.currentActivity</field></shadow></value> <statement name="STATEMENT"><block type="controls_if" id="BHRn[yZNyldRzla7iWi7"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_operation" id="h%Dxc4+M54+:Y,ZSS!*K" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_operation" id="zurUC)rk{`P`7/7dxFyR" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_operation" id="2`[;wc8`kHJlgt/2Za[i" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="xj!*G`B.;)@@I^.VIQr!"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="PinJXaZljMe?g,F|^]E{"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> <value name="B"><block type="text" id="51kxO(lGG8,.N0A6^@Rv"><field name="TEXT">BluRay</field></block></value></block></value> <value name="B"><block type="logic_compare" id="4@@0H/HRU6sfS9G*W^}E"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="j[Q[;G#%(tu4KA~[x7r%"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> <value name="B"><block type="text" id="3P5#TeYK[-xPSz3cV^aF"><field name="TEXT">Fernsehen</field></block></value></block></value></block></value> <value name="B"><block type="logic_compare" id="Fb5kAxo|eKv)P]|S72RS"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="_0Ayg286*}@iK@@WN%dk"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> <value name="B"><block type="text" id="woz(;%so1[)7d60NAqQX"><field name="TEXT">Kino</field></block></value></block></value></block></value> <value name="B"><block type="logic_operation" id="Gh`=0F4U%hf~~l7er{(;" inline="false"><field name="OP">OR</field> <value name="A"><block type="logic_compare" id="|uMJ#1pX=_4[jy(5qyaE"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="m)G%c1yy6skVfbi9F74q"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> <value name="B"><block type="text" id="#kMhr(+(Mk+A@v9rU]^_"><field name="TEXT">Musik</field></block></value></block></value> <value name="B"><block type="logic_compare" id="z[/k,V7bq~gnLCkdvD9y"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="|8pT+HunZKa+,BjpF7x1"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> <value name="B"><block type="text" id="k04791`EPUsVdtW?tvkM"><field name="TEXT">Musik mit Verstaerker</field></block></value></block></value></block></value></block></value> <statement name="DO0"><block type="comment" id="]ihiXM{AQ1n4Zd@JWyzJ"><field name="COMMENT">TV System an</field> <next><block type="control" id="*M]#SFj-0gE[Q}k9M(l~"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="w8Q^kn0`oY}}^i,=!cIy"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> <next><block type="control" id="-6jM*M75?XM{5+2/5h|F"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="/0QMpv*(8@RA2ga43kNj"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> <next><block type="control" id="QI.sI|sL5+1]S=g~G:-n"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="Uh+t..^C2@N_cLtZjx8m"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> <next><block type="control" id="wPHLZaP[(AXjY+p/ks.,"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="hz@4Qy1hsL:dc@7fz-^D"><field name="TEXT">{"on":true,"transitiontime":15}</field></block></value> <next><block type="timeouts_settimeout" id="9}K1iD.IuUq[0v`r`)(d"><field name="NAME">timeout2</field> <field name="DELAY">5</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block type="controls_if" id="@2oGEG@cl2vPv0e+Nsnu"><value name="IF0"><block type="logic_compare" id="0[5bk{tnjNZdIYRCeW%!"><field name="OP">GTE</field> <value name="A"><block type="get_value" id="(3bh%:b04Ay##=#`-Q`="><field name="ATTR">val</field> <field name="OID">hm-rpc.0.000BD5699D50BB.1.ILLUMINATION</field></block></value> <value name="B"><block type="math_number" id="pTgYfGx*?Q;@a`U((IO?"><field name="NUM">325</field></block></value></block></value> <statement name="DO0"><block type="control" id="Qg**c3=*R4mFm;!=dR61"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Wohnzimmer.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="781zFJxu6A`x4]fKs_@8"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value></block></statement></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement> <value name="IF1"><block type="logic_compare" id="mZ(e!y%u;zBr`EDNt^eA"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="ee4@`gm#qB1`kCGgN5kS"><field name="ATTR">val</field> <field name="OID">harmony.0.Wohnzimmer.activities.currentActivity</field></block></value> <value name="B"><block type="text" id="2`knFCf/j_/RI`idAwYS"><field name="TEXT">PowerOff</field></block></value></block></value> <statement name="DO1"><block type="comment" id="C!d.+KxPoVc}6PEb?lc5"><field name="COMMENT">TV System aus</field> <next><block type="control" id="5NW?MelU:lm#u;7+/y@o"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="B0oAEC6VWkuF(MOgz5%k"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> <next><block type="control" id="ESG35IA9ly_DLj-Z,sU%"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="6R8IzJ{op;_6K|!.*m+Z"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> <next><block type="control" id="{/_0wt!fj4Au:%WOizeh"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="R_unlu-BXF+}f_5D-H99"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> <next><block type="control" id="GMz|Wd~Du0B1{.SC+N#%"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="9icEJ4,c(|i~/?qb}UzR"><field name="TEXT">{"on":true,"transitiontime":0}</field></block></value> <next><block type="timeouts_settimeout" id="O7soMdFm1cRHdi6T=E|W"><field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"><block type="control" id="`iYsh+k5FEf#Ms@d99Y("><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="70gqv-YoRf_F0cH@)?}I"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value> <next><block type="control" id="!/?03pV_t`2d;CoL=g*2"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Fernsehlampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="8cQWrM+t(qB}V~9W})O*"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value> <next><block type="control" id="uSf,-cjj0RWH^tAT}@lo"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_links.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="2RT^y;I#)yn_4ccMW)_Q"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value> <next><block type="control" id="iqTSvh]]_KBO+;=ku%;w"><mutation delay_input="false"></mutation> <field name="OID">hue.0.HueBridge.Sofalampe_rechts.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="Jb%eId72Bm)wU98,Thta"><field name="TEXT">{"on":false,"transitiontime":70}</field></block></value></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></xml> Sieht dann so aus… ![3822_bildschirmfoto_2018-10-06_um_08.30.10.png](/assets/uploads/files/3822_bildschirmfoto_2018-10-06_um_08.30.10.png) Einfach die eigenen activities in den CloudAdapter einfügen und im Blockly so benennen wie die eigenen.![](https://uploads.tapatalk-cdn.com/20181005/c333cf731ba1f7f5dd508f1d93a9cc94.jpg)~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201810 ... a9cc94.jpg">https://uploads.tapatalk-cdn.com/20181005/c333cf731ba1f7f5dd508f1d93a9cc94.jpg</link_text>" />![](https://uploads.tapatalk-cdn.com/20181005/020f3e6cee18f81b4ac66faaa7f899f0.jpg)~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201810 ... f899f0.jpg">https://uploads.tapatalk-cdn.com/20181005/020f3e6cee18f81b4ac66faaa7f899f0.jpg</link_text>" />~~~~
  • Scripte zeigt andere Werte an bei Objektauswahl

    Moved
    2
    2
    0 Votes
    2 Posts
    317 Views
    DutchmanD
    Ja leider, das Pop-up zeigt nicht immer den aktuellen Wert. Wen du wissen möchtest was das Script auslöst am besten den Wert im Log ausspucken Dan sieht das das Script den richtigen Sent from my iPhone using Tapatalk
  • [Erledigt] Anfängerhilfe: Zeitsteuerung aus CCU nachbauen

    Moved
    7
    0 Votes
    7 Posts
    720 Views
    Z
    Super, danke für Eure Hilfe. Wieder etliches dazu gelernt
  • [gelöst] shedule starten und stoppen

    Moved
    4
    0 Votes
    4 Posts
    739 Views
    smartboartS
    Habs korrigiert… Im ersten Lauf hat es gut geklappt... Denke das wars auch... Gute Idee den clear schedule nach oben zu nehmen um ihn sofort auszulösen... Die Aufzählung nach der Else war natürlich auch unnötig... Danke nochmal... Gesendet von meinem CLT-L09 mit Tapatalk
  • [gelöst] Schleife - alle Geräte eines Adapters "erwischen"

    Moved
    10
    1
    0 Votes
    10 Posts
    2k Views
    S
    Super, habe genau das gleiche gesucht, werde das heute Abend mal testen.
  • [gelöst] Blockly - hilfe beim Timeout setzen

    Moved
    7
    1
    0 Votes
    7 Posts
    623 Views
    L
    @paul53: @ltsalvatore: jetzt passt es 100% Bitte das Thema im Betreff des ersten Beitrags als [gelöst] markieren. erledigt ;)
  • [Gelöst] Blockly - Rollo Steuerung Abhängigkeit Tür

    Moved
    28
    1
    0 Votes
    28 Posts
    3k Views
    B
    Da ja bei mir der Teil mit "nicht zwischen Sonnenaufgang und Sonnenuntergang" warum auch immer nicht funktionierte. Habe ich es jetzt mit einem Datenpunkt "AstroNacht" gelöst. Welcher von einem Extra BLockly aktualisert wird. viewtopic.php?f=21&t=2757&start=220#p181881 Thread ist gelöst ;)
  • [gelöst] Blocky falls aktuelle Zeit zwischen 22 und 6 Uhr

    Moved
    14
    0 Votes
    14 Posts
    3k Views
    OstfrieseUnterwegsO
    @paul53: @OstfrieseUnterwegs: dass "zwischen 22 - 6 Uhr" nicht klappt. Wirklich ? das war ich nicht :shock: Egal… Hauptsache es funktioniert. Ich hab gefunden, woher die Verwirrung kam. Es gab mal einen https://forum.iobroker.net/viewtopic.php?f=21&t=17431&p=182405&hilit=blockly+zeit+zwischen#p182405 in dem Zeit zwischen Sonnenuntergang und Sonnenaufgang abgefragt werden sollte. Damals hat paul53 den Hinweis mit der Umkehr gegeben.
  • Blockly zwischen Sonnenuntergang und Sonnenaufgang schalten

    Moved
    4
    1
    0 Votes
    4 Posts
    9k Views
    M
    @paul53: Die Suche im Forum funktioniert wohl nicht ? Lösung: Aktuelle Zeit ist <u>nicht zwischen</u> Aktuelle Zeit von Sonnenaufgang-Ende und Aktuelle Zeit von Sonnenuntergang-Anfang ` Doch, da bin ich auch schon drüber gestolpert. Jetzt habe ich es aber erst mit der Begründung von homecineplexx verstanden. Zuvor dachte ich ich hätte die Themen der anderen Topics falsch verstanden. Danke!!
  • (Gelöst)Warnmeldung im Logfile bezüglich HM Heizkörperthermostat

    Moved
    7
    0 Votes
    7 Posts
    397 Views
    A
    So! Titel geändert! Ich hoffe das ist jetzt richtig so? Danke auch für die Info zum Verhalten bezüglich Skripteinbindung. Hab das Problem nun gelöst, auf Grund des Tips von dna909 @dna909: Poste mal bitte Dein Script, eigentlich sollte der Datenpunkt vom Typ "Zahl" sein. ` Der Fehler lag am "Text" Baustein. Wollte nur nochmal Danke sagen.
  • [gelöst] http request

    Moved
    29
    0 Votes
    29 Posts
    8k Views
    Lenny.CBL
    @homecineplexx: mal was anderes. siehst du auf dem 192.168.2.37:8091, den du steuern möchtest, irgendwelche logs? ` Logs in dem Sinne sind da nicht zu holen. ABER, ich habe jetzt was gefunden was auch klappt. var request = require('request'), username = "admin", password = "admin", url = 'http://192.168.2.37:8091/SetState.pl?R16=0&RT16=0', auth = "Basic " + new Buffer(username + ":" + password).toString("base64"); request({ url : url, headers : {'Authorization' : auth} }, function (error, response, body) { log('error: ' + error); log('response: ' + JSON.stringify(response)); log('body: ' + body); } ); erzeugt dann dieses LOG und schaltet auch das Relais im Controler: 08:23:02.308 [info] javascript.0 script.js.Testscripte.Skript1: error: null 08:23:02.310 [info] javascript.0 script.js.Testscripte.Skript1: response: {"statusCode":200,"body":"0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0\n","headers":{"server":"PoolController V.1.6.8","connection":"close","content-type":"text/plain; charset=ISO-8859-1"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.2.37:8091","port":"8091","hostname":"192.168.2.37","hash":null,"search":"?R16=0&RT16=0","query":"R16=0&RT16=0","pathname":"/SetState.pl","path":"/SetState.pl?R16=0&RT16=0","href":"http://192.168.2.37:8091/SetState.pl?R16=0&RT16=0"},"method":"GET","headers":{"Authorization":"Basic YWxxxx46xxxxaWxxxx=="}}} 08:23:02.310 [info] javascript.0 script.js.Testscripte.Skript1: body: 0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0 nochmal danke an alle die so geduldig waren. :D
  • Suche Tipps: Adapter ohne "connected" überprüfen

    Moved
    6
    0 Votes
    6 Posts
    364 Views
    apollon77A
    Ja, Obj.state.ts - aktueller Zeitstempel letztes Update Obj.state.lc - last changed Zeitstempel Gesendet vom Handy …
  • [gelöst] Philips Hue Lampen Gruppieren

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    AxelF1977A
    Über den Umweg des Alexa2 Adapters konnte ich es lösen. Danke
  • Wert eines Objektes als Text ausgeben

    Moved
    4
    0 Votes
    4 Posts
    2k Views
    H
    Es gibt einen Node namens "debug", dieser ist grün. Davon kannst du zwei in deinen Flow ziehen, doppelt draufklicken und dann dort alle Kästchen anhaken. Danach kannst du direkt im Flow sehen welcher aktuelle Status sich entlang des Flows bewegt. Generell sollte dein Flow so aber funktionieren, sofern der Change Node richtig ist.
  • [gelöst]Zufälliges schalten nach Sonnenuntegang

    Moved
    16
    0 Votes
    16 Posts
    2k Views
    paul53P
    @etproject: Es funktioniert!!! ` Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
  • Datenpunkt für die Cloud ohne AN/AUS

    Moved
    7
    0 Votes
    7 Posts
    628 Views
    padrinoP
    Hi, ich glaube, verschiedene Sätze gehen nur, wenn man IFTTT benutzt. CU, padrino
  • [gelöst]Funktion nur für bestimmten Zeitraum ausführen (Timer)

    Moved
    5
    0 Votes
    5 Posts
    436 Views
    ChaotC
    Danke! Wieder etwas schlauer :D

699

Online

32.7k

Users

82.5k

Topics

1.3m

Posts