Skip to content

Skripten / Logik

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

16.6k Topics 213.8k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    OliverIOO
    @BertDerKleine Am besten zeigst du mal dein Script, dann kann man bessere Empfehlungen abgeben. Bitte auch mal schreiben warum du aufteilen möchtest obwohl es so funktioniert.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    Murphy 0M
    Schau mal Netzein- und Ausgangsmodus, CT-Modus falls es den noch gibt. Alles was mit Ein- und Ausspeisen zu tun hat.
  • 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] Mit Großbuchstaben deklariert wird blau angezeigt

    6
    1
    0 Votes
    6 Posts
    172 Views
    paul53P
    @ben1983 sagte: Hat ja sicher irgend einen Grund, warum es gehighloghted wird. Oder? Keine Ahnung. Dahinter steckt Typescript, womit ich mich nicht auskenne.
  • Mehrere Datenpunkte abfragen Script HTML Widget

    1
    0 Votes
    1 Posts
    129 Views
    No one has replied
  • Parser Adapter liefert kein Ergebniss

    44
    0 Votes
    44 Posts
    2k Views
    dirk_1930D
    @liv-in-sky Sehr cool das ganze mit den regular Expressions. Wenn man einmal verstanden hat, wie die aufgebaut sind ist das ja ganz schön mächtig. Nochmals danke für all eure verschiedenen Lösungsansätze. Werde jetzt mal alleine weiter machen bis zur nächsten Frage… :blush:
  • LAN-Clients als Objekte vom Unifi Adapter

    9
    2
    0 Votes
    9 Posts
    508 Views
    liv-in-skyL
    @mguenther hier ein blockly, welches dir ein beispiel für eine schleife durch das unifi-verzeichnis macht - gibt im log den namen,die ip-adresse und die mac adresse aus Spoiler <block xmlns="https://developers.google.com/blockly/xml" type="controls_forEach" id="aYemk+_zO9R0[1B:rn?(" x="962.8488159179688" y="62.905670166015625"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> <value name="LIST"> <block type="selector" id="rKA=#Nad;Fi_*@NP?K:Z"> <field name="TEXT">unifi.0.default.clients.*.is_online</field> </block> </value> <statement name="DO"> <block type="controls_if" id="|O%_{Xy06sAlt2RW9tV#"> <value name="IF0"> <block type="logic_compare" id="-I`/FPZ2K@j{~io5~]r+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value_var" id="~m,Fq^;FOLA6l$jr%:F3"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="L0b9mNZeAQE0#X26G1[`"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> </block> </value> <value name="B"> <block type="logic_boolean" id="J/A_IB5v6k8^G!R:%Svc"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id="}/]^`3$y7dC9[h]LL#)^" disabled="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="z_Jp{j)DQ;J(RgG!Zc9X"> <field name="TEXT">test</field> </shadow> <block type="variables_get" id="d}x=SAG*EN)jF#~[5#Tt"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <next> <block type="variables_set" id="#NCte3)4ES3goO*c|}qc" disabled="true"> <field name="VAR" id="=$.f[B97caRLYGEl6{~,">myName</field> <value name="VALUE"> <block type="variables_get" id="/8m4z|zJ1;V}~~Ibybiw"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <next> <block type="debug" id="NF1!tD,3U=2qn$oo^tV3"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="3L7!XW4g./4}Vz%{A{/o"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="``V`=4efQJc:+?SCrg[w"> <mutation items="6"></mutation> <value name="ADD0"> <block type="text" id=":?zAY.hRSY]VBhZ%1|-~"> <field name="TEXT">name: </field> </block> </value> <value name="ADD1"> <block type="get_value_var" id="%f8?Ez@UKuWAf+Ead1z2"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="text_join" id="$m)L4Fg7n3g_%P;HGH6P"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id=",2sv)7`z1%|*RU@iy]7k"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="b1S/yh3(_~)|@EY%|Ftc"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="q1*2SiSyPk^cs9,SO95:"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="29@gL#5oe|e%zrg]8So$"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="mj,ug{_!NFV*M9GW1Oa="> <field name="TEXT">.</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="d{(iw~l4O:hL~A9mBxp^"> <field name="TEXT">name</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="8^0E~@Q=mrrDq]XbCLpw"> <field name="TEXT"> --- macadresse: </field> </block> </value> <value name="ADD3"> <block type="lists_getIndex" id="`J#n.9]2.j1fdGmH|rY}"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="lists_split" id="A*]6B:O_te4,XQbW5Z;O"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="variables_get" id="UmzVNPnUc#SVB%d.IhTP"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <value name="DELIM"> <shadow type="text" id="r2d8_+S)Rr9B{P$d$/yU"> <field name="TEXT">.</field> </shadow> </value> </block> </value> <value name="AT"> <block type="math_number" id="w8/{G.YAR|[r2brMXQmQ"> <field name="NUM">5</field> </block> </value> </block> </value> <value name="ADD4"> <block type="text" id="`AG[/3/pE=`f#saT#RS,"> <field name="TEXT"> --- ip-adresse: </field> </block> </value> <value name="ADD5"> <block type="get_value_var" id="^(R1L8Xr}?uyOU4@Z?)5"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="text_join" id="h!uXyjX9!,l`jZs]h8=G"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text_getSubstring" id="q!)b,%.BKd21X{)2|@1?"> <mutation at1="false" at2="true"></mutation> <field name="WHERE1">FIRST</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="variables_get" id="e7ehu^TshPsCaj3$v-jF"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <value name="AT2"> <block type="text_indexOf" id="avCgTnckU=}$L:DUST35"> <field name="END">LAST</field> <value name="VALUE"> <block type="variables_get" id="~aFljR-%eww0/_*32V93"> <field name="VAR" id="ju_axXKM0evm)kFjt0^x">i</field> </block> </value> <value name="FIND"> <shadow type="text" id="@sv^U+Gksy1~!Mrf`9.#"> <field name="TEXT">.</field> </shadow> </value> </block> </value> </block> </value> <value name="ADD1"> <block type="text" id="ju?MH,Qkk[(che*7veis"> <field name="TEXT">ip</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> </block>
  • Eventuelle Überschneidungen möglich

    1
    0 Votes
    1 Posts
    68 Views
    No one has replied
  • Variablen, oder enum als bedingung

    10
    0 Votes
    10 Posts
    331 Views
    Ben1983B
    @paul53 Ich habe für mich die "goldene" Mitte gewählt. Finde ich bei mehreren Stati ganz praktisch. let automatikstatus = { freigabeWeiterschaltung : false } on("VeräderterState_1",(dp)=>{ automatikstatus.freigabWeiterschaltung = true; }); on("VeräderterState_2",(dp)=>{ if(automatikstatus.freigabWeiterschaltung){ automatikstatus.freigabeWeiterschaltung = false; setState("MeinAktor",true); } });
  • on trigger

    javascript
    3
    0 Votes
    3 Posts
    106 Views
    M
    @paul53 :+1:
  • HTTP POST string per blockly senden oder curl string

    Moved
    6
    0 Votes
    6 Posts
    4k Views
    C
    @alcalzone Aus dem ersten Link werde ich auch nicht schlau. Bin ebenfalls Anfänger. Leider kann ich nur ein bisschen Blockly programmieren. Der zweite Link ist tot (404)
  • Parser Aapter

    38
    0 Votes
    38 Posts
    3k Views
    H
    @homoran sehr sehr cool! Vielen Dank es funktioniert!
  • Unwillkürliches ausschalten von Aktoren

    3
    1
    0 Votes
    3 Posts
    305 Views
    CinimodC
    @sentinel997 Du willst ja nur eine Aktion bei "trigger Datenpunkt" wahr, gell. Dann Änder doch den Trigger erstmal auf "ist wahr", dann kannst dir diese abfrage schon mal einsparen. Und wie @JoergH schon sagt wird dein Timeout mehrfach angestoßen ohne das er irgendwo gestoppt wird. Dann hast du unter umständen etliche Timeouts gleichzeitig am laufen. Die Verzögerung beim schalten ist meiner Meinung nach unnötig, da ja alles verschiedene Geräte sind die angesteuert werden. Vorschlag: [image: 1646908838500-bildschirmfoto-2022-03-10-um-11.40.26.png] Für das Phänomen habe ich erstmal auch keine Erklärung, denke nicht das das Skript schuld daran ist. Ist es denn immer der selbe Aktor der diese Sperenzien macht? Noch ein anderes Skript am laufen welches auf diesen Aktor zugreift ?
  • Zulauf einer Zisterne in Liter/h berechnen

    blockly javascript
    52
    1
    0 Votes
    52 Posts
    7k Views
    C
    @joergh danke
  • Gelöst: Zustände in Objekten Zählen

    javascript
    3
    0 Votes
    3 Posts
    122 Views
    M
    @paul53 sagte in Zustände in Objekten Zählen: // IDs anpassen! const ids = $('iot.*.xyz.custom_CAS'); const idCnt = '0_userdata.0.xyz'; function cntCAS() { let cnt = 0; ids.each(function(id, i) { if(getState(id).val == 'exited') cnt++; }); setState(idCnt, cnt, true); } cntCAS(); // Skriptstart ids.on(cntCAS); Super Danke
  • [Gelöst] Playstation 4 - Wake-on-Lan

    16
    1
    0 Votes
    16 Posts
    2k Views
    D
    @thomas-braun ich habe es als sudo versucht m evtl weiter zu kommen :) Wenn ich den Befehlt npx playactor login absetze bekomme ich halt immer die Antwort: In a moment, we will attempt to open a browser window for you to login to your PSN account. When the page shows "redirect", copy the URL from your browser's address bar and paste it here. Hit ENTER to continue ist jetzt nicht weiter tragisch, ich verusche es bei Zeiten nochmal
  • Gelöst: LOG Auslesen

    javascript
    9
    0 Votes
    9 Posts
    315 Views
    M
    @gammler2003 Danke klappt auch...
  • Umstellung auf "axios"

    33
    0 Votes
    33 Posts
    3k Views
    OliverIOO
    @glitzi ob get oder post dürfte da kein unterschied machen. aber gut wenn es funktioniert
  • Meross (Homekit Steckdose) mit Knx verbinden

    1
    3
    0 Votes
    1 Posts
    231 Views
    No one has replied
  • Objekt in JSON Array umwandeln

    10
    0 Votes
    10 Posts
    240 Views
    dirk_1930D
    @paul53 :+1: :flushed: Perfekt... Vielen Dank für die Hilfe!
  • Klingelsperre in Fritzbox aktivieren

    blockly
    2
    0 Votes
    2 Posts
    425 Views
    T
    @matschkopf Hallo, hat das schon einer hinbekommen? Den ich suche auch nach genau so einer Lösung. Die Klingelsperre der FB selbst ist ja schon gut, allerdings ist mir diese viel zu undynamisch. Hat jemand Ideen? Danke
  • Bekomme meinen Xiaomi Fan S2 nicht zum werkeln

    6
    3
    0 Votes
    6 Posts
    411 Views
    Damrak2022D
    @stefan-glück Irgendwie habe ich es damit nicht hinbekommen, aber mittlerweile funktioniert alles wie es soll
  • Sunwatch Datenlogger auslesen

    Moved
    4
    0 Votes
    4 Posts
    2k Views
    F
    @ing-michel Nach langem probieren hat es mit NODE Red funktioniert :) Mit hilfe einer Exec-Node bekommt man die Daten vom Sunwatch abgerufen. Die Bezugs- /Lieferwerte muss man anschließend noch trennen. Läuft seitdem aber stabil. [image: 1645898268006-2022-02-26-18_56_28-node-red-0-iobrokermainserver-resized.png]

588

Online

32.7k

Users

82.4k

Topics

1.3m

Posts