Skip to content

Skripten / Logik

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

16.6k Themen 214.0k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    RoddiEFR
    Ok dann warte ich lieber und fang eine frische Installation an wenn die neue Version fertig ist. Wäre es möglich beim aktuallisieren vom ersten Beitrag auch die Versionsnummern zu ändern wie schon jemand Vorgeschlagen hatte? Das macht das es einfacher wenn Änderungen anliegen. Thx
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    B
    @Murphy-0 Hatte noch nen kleinen Bug, jetzt sieht es schon viel besser aus.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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] Javascript: agressive Intervalle

    17
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    Rene55R
    @codierknecht @paul53 Danke euch beiden - wieder was gelernt :blush:
  • [Vorlage] Spotify Skript

    Verschoben javascript
    745
    1 Stimmen
    745 Beiträge
    279k Aufrufe
    Walter.O.W
    @sigi234 sagte in [Vorlage] Spotify Skript: request package is deprecated Doch, benutze ich.
  • MQTT-Instanz sendet Daten und werden als NaN empfangen

    24
    3
    0 Stimmen
    24 Beiträge
    3k Aufrufe
    M
    @iojoe22 Wenn es nur ein Datenpunkt sein sollte, reicht vielleicht auch das Senden des DP per HTTP, etwa wie im Beispiel, vorrausetzung ist natürlich ein vorhandener DP der die Werte erwartet const idAuslöser ="mqtt-client.2.info.connection" on({ id: idAuslöser, change: "any" }, function (dp) { var status = getState(idAuslöser).val log (status) httpGet('http://192.168.178.144:8087/set/mqtt.2.test.adapter.mqttcli?value=' + getState(idAuslöser).val, { responseType: 'arraybuffer' }, async (err, response) => { }); }); Gruß Michael
  • HUE BWM Outdoor Parameter - Conbee II

    2
    1
    0 Stimmen
    2 Beiträge
    193 Aufrufe
    CinimodC
    @spitfire4all Delay bedeutet "Verzögerung" und ich nehme stark an das du damit das zurückstellen der erkannten Bewegung verzögern kannst.
  • Yahka Multistate (HMIP-MOD-HO / Hörmann Garagentor)

    9
    2
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    M
    @schaefersklaus Ah, danke. Ich hatte beide auf Door_Command gestellt. Ist nun korrigiert.
  • Skript für autom. Abfrage inaktiver Zigbee-Clients

    3
    0 Stimmen
    3 Beiträge
    302 Aufrufe
    P
    @ticaki Sehr geil! Kannte ich noch gar nicht... Sofort installiert, konfiguriert und funktioniert einwandfrei! Vielen, vielen Dank!
  • Steuerung der Schwörer Heizung (Ventcube-Adapter)

    1
    0 Stimmen
    1 Beiträge
    153 Aufrufe
    Niemand hat geantwortet
  • Tradfri Fernbedienung > Hue dimmen & Szenen

    blockly
    13
    2
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    AphofisA
    @rehmosch Magst du deinen Code mal exportieren und hier psoten!? Das wäre nett Danke
  • FritzBox Onlinezeit von Teilnehmern verlängern

    22
    1
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    S
    @bananajoe Anbei das Script <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="}/BV?J`ZBj[g9)lo@/Xb">Spielzeit</variable> <variable type="interval" id="Intervall">Intervall</variable> <variable id="ew40Bf2{8Yw8DtK6weyX">Bonuszeit</variable> <variable type="interval" id="Intervall2">Intervall2</variable> </variables> <block type="on_ext" id="5/ZEq7o$e2CNvj5jJlHX" x="-4505" y="-3273"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <comment pinned="true" h="80" w="160">Tägliche Spielzeit</comment> <value name="OID0"> <shadow type="field_oid" id="t4`1=0WacF/7lwKvu(Cg"> <field name="oid">tr-064.1.devices.ps5-61c94dlan.active</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="H4kymGZi,S/A#4@/o{1{"> <value name="IF0"> <block type="logic_compare" id="$$O,t76l+aa8c(]0i43_"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="igDb+CncG)X!rO5Vu%Lc"> <field name="ATTR">val</field> <field name="OID">tr-064.1.devices.ps5-61c94dlan.active</field> </block> </value> <value name="B"> <block type="logic_boolean" id="Ri5vcHZx_XV!-7M:jV@z"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="J*VPf~+lNGw$P];BN]5_"> <field name="VAR" id="}/BV?J`ZBj[g9)lo@/Xb">Spielzeit</field> <value name="VALUE"> <block type="get_value" id="7,TyJg}[afyM3GYn!WBF"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Playstation.Spielzeit</field> </block> </value> <next> <block type="timeouts_clearinterval" id="_i)|aBOk-+gG6k+}~Mxy"> <field name="NAME">Intervall</field> <next> <block type="timeouts_setinterval" id="nh_mg|XZDI2A]T7k24K*"> <field name="NAME">Intervall</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="math_change" id="Vv{m[XOiXR;=x3VpTS6n"> <field name="VAR" id="}/BV?J`ZBj[g9)lo@/Xb">Spielzeit</field> <value name="DELTA"> <shadow type="math_number" id="d+;Dk{:1B#R0y!u80D;,"> <field name="NUM">-1</field> </shadow> </value> <next> <block type="update" id=".~)p{s$FPpIp[`Cg^VcW"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Playstation.Spielzeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="cU7rCPb,n.s|5yGD?(|f"> <field name="VAR" id="}/BV?J`ZBj[g9)lo@/Xb">Spielzeit</field> </block> </value> <next> <block type="controls_if" id="d;8#gYb(h@)[|[5=cb67"> <value name="IF0"> <block type="logic_compare" id="V5|yFTv}ud64?E7BWj3k"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="pmH-*R?j_F:.6cxA^T/N"> <field name="VAR" id="}/BV?J`ZBj[g9)lo@/Xb">Spielzeit</field> </block> </value> <value name="B"> <block type="math_number" id="w:w`pMlaG+l@AD,C{i}l"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="[C$s~CNZ%``pv`rXQ4bU"> <field name="NAME">Intervall</field> <next> <block type="control" id="u:{aZ$a`y1pEKVwdU0Bh"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tr-064.1.states.command</field> <field name="WITH_DELAY">FALSE</field> <comment pinned="true" h="80" w="160">Command Befehl vom TR064 Adapter. NewDisallow: 1= Gerät wird gespertt 0= Geräte wieder freigeschaltet </comment> <value name="VALUE"> <block type="text" id="4}qm.Z8#Y[A4Le2O)kkN"> <field name="TEXT">{ "service": "urn:dslforum-org:service:X_AVM-DE_HostFilter:1", "action": "DisallowWANAccessByIP", "params": { "NewIPv4Address": "192.168.178.118", "NewDisallow": 1 } }</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="on_ext" id="#{+.-:M($}0:gUxj]xk1"> <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="kI1r9AD7*Tz`}A:uKb2B"> <field name="oid">0_userdata.0.Playstation.Bonuszeit_Aktivator</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="#*2B^/XUIN#JV9E(Yzkd"> <value name="IF0"> <block type="logic_compare" id="_64G!8.HoP7*RGMlu|4o"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="m7ZLAgsEOHtrK=7:fDQ_"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Playstation.Bonuszeit_Aktivator</field> </block> </value> <value name="B"> <block type="logic_boolean" id="H,FV%ShQCi5GT8x#l7$p"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="Oj80pJCR}+*)DlD7$(,)"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tr-064.1.states.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="-:{k+}jPr}rv)p)G(7Zf"> <field name="TEXT">{ "service": "urn:dslforum-org:service:X_AVM-DE_HostFilter:1", "action": "DisallowWANAccessByIP", "params": { "NewIPv4Address": "192.168.178.118", "NewDisallow": 0 } }</field> </block> </value> <next> <block type="update" id="+6$r)*skoKdB%TW37-9n"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Playstation.Extrazeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="6+tKP`C3rVwPK,KwJCWO"> <field name="NUM">1800</field> </block> </value> <next> <block type="variables_set" id="bscs6L0+m`?]=6(a,4]p"> <field name="VAR" id="ew40Bf2{8Yw8DtK6weyX">Bonuszeit</field> <value name="VALUE"> <block type="get_value" id="GI?clIE]o%sgbN1+$~uz"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Playstation.Extrazeit</field> </block> </value> <next> <block type="timeouts_clearinterval" id="!{i%+gK)aqs00*9i9hO5"> <field name="NAME">Intervall2</field> <next> <block type="timeouts_setinterval" id="`0`zG3^f1IY1km|y`}Td"> <field name="NAME">Intervall2</field> <field name="INTERVAL">1</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="math_change" id="PKl]c;Q/DDv}NCp|3*cn"> <field name="VAR" id="ew40Bf2{8Yw8DtK6weyX">Bonuszeit</field> <value name="DELTA"> <shadow type="math_number" id=".{vboei$0X.Jy){kSTU2"> <field name="NUM">-1</field> </shadow> </value> <next> <block type="update" id="+M8VoW5o7SVdgMR-7.D+"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Playstation.Extrazeit</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="P3c9U.Xo^vSObZ:V?ejD"> <field name="VAR" id="ew40Bf2{8Yw8DtK6weyX">Bonuszeit</field> </block> </value> <next> <block type="controls_if" id="I~^3=?vpN0,9u(g)QbQ!"> <value name="IF0"> <block type="logic_compare" id="VI,6xaUA1u}sAdum8l~Y"> <field name="OP">LTE</field> <value name="A"> <block type="variables_get" id="]wrti}f7XbqcTmJGZgX~"> <field name="VAR" id="ew40Bf2{8Yw8DtK6weyX">Bonuszeit</field> </block> </value> <value name="B"> <block type="math_number" id="1lKv4F@t-EP2eZ_ww3~q"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_clearinterval" id="JeD[K:Y-KD5-thJyRpK="> <field name="NAME">Intervall2</field> <next> <block type="control" id="o;0vLTy1:G0khe9,Oix?"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tr-064.1.states.command</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="..tJUyU1=CLa$$Y,EfY;"> <field name="TEXT">{ "service": "urn:dslforum-org:service:X_AVM-DE_HostFilter:1", "action": "DisallowWANAccessByIP", "params": { "NewIPv4Address": "192.168.178.118", "NewDisallow": 1 } }</field> </block> </value> <next> <block type="update" id="NO`p]!;Di0]4`nr}8,4u"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Playstation.Bonuszeit_Aktivator</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="~/awpVORNqBC?RGed9:y"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </xml>
  • Bräuchte untersützung bei python

    2
    0 Stimmen
    2 Beiträge
    222 Aufrufe
    A
    hat sich erledigt.. habs geschafft.
  • [gelöst] Probleme mit AppleTV steuern über "hass" Adapter

    12
    0 Stimmen
    12 Beiträge
    689 Aufrufe
    CinimodC
    @ticaki Funktioniert soweit einwandfrei, dank nochmal
  • +/- Watt-Wert (Power) in 2 kWh-Werte (Energy) trennen lassen

    3
    0 Stimmen
    3 Beiträge
    312 Aufrufe
    M
    Wow, vielen herzlichen Dank!
  • gelöst: Alias, Konvertierungsfunktion, Zeit hh:mm anzeigen

    4
    0 Stimmen
    4 Beiträge
    347 Aufrufe
    G
    Moin, Moin @paul53 said in Alias, Konvertierungsfunktion, Zeit hh:mm anzeigen lassen: @geophysiker sagte: Ich hätte gerne führende Nullen Vorschlag: Math.floor(val / 3600).toString().padStart(2, '0') + ':' + ((val % 3600) / 60).toFixed().padStart(2, '0') 00:08h :)))) Wie soll ... Ich bin begeistert. Danke!! Tschö, Ralf
  • Scripts für PV Anlage

    13
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    S
    @gukerl Werde ich mir irgendwann in Ruhe anschauen, derzeit ist zigbee2mqtt wichtiger
  • Gelöst: Tabelle mit dem Zustand der PING Zustände erstellen

    javascript
    19
    1
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    M
    @paul53 sagte in Gelöst: Tabelle mit dem Zustand der PING Zustände erstellen: Starte mal die Javascript-Instanz neu. Danke jetzt ist alles ohne Leichen
  • Objekte finden in verschiedenen Skripten

    2
    0 Stimmen
    2 Beiträge
    200 Aufrufe
    T
    @hotspot_2 Die Suchfunktion im Javascript-Adapter schon ausprobiert? Oder überhaupt gesehen das es die gibt? (war bei mir so :D )
  • Sporadische Aussetzer Shelly 1 PM mit Tasmota

    1
    2
    0 Stimmen
    1 Beiträge
    172 Aufrufe
    Niemand hat geantwortet
  • source does not exist for "read" function

    52
    1
    0 Stimmen
    52 Beiträge
    4k Aufrufe
    HomoranH
    @thomas-braun sagte in source does not exist for "read" function: Fand es auch immer unübersichtlich mit den ganzen Ansätzen. stimmt! deswegen immer nativ! (die drei aliases die ich bisher hab)
  • IPhone Kurzbefehl "Garage öffnen" via Telegram-Bot

    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    T
    @codierknecht Bedingung wäre, dass da ein HomePod o... Ups, stimmt :)
  • eCharts mit Telegram-Adapter

    6
    0 Stimmen
    6 Beiträge
    780 Aufrufe
    Q
    @bananajoe Vielen Dank. Ich schaue mir das mal an. iobroker.inst@3.0.0 /opt/iobroker ├─┬ iobroker.echarts@1.9.2 │ ├── canvas@2.11.2 │ └─┬ jsdom@25.0.0 │ └── canvas@2.11.2 deduped └─┬ iobroker.energiefluss@3.6.2 └── canvas@2.11.2 deduped iobroker@raspberrypi:/opt/iobroker/node_modules/canvas $ npm rebuild rebuilt dependencies successfully Telegram-Grafiken werden wieder angezeigt. Ein Rebuild war ausreichend/hilfreich. Merci. Ich nehme "nur" die Versionen, die mir "offiziell" zum Update auch angeboten werden. Danach war der Adapter up-to-date.

446

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge