Skip to content

Skripten / Logik

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

16.6k Themen 213.6k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    A
    @Dave69-CH Kannst du mir mal deinen Link zu der Proplanta Seite schicken. Ich denke das die Schweizer Version anders aufgebaut ist und deswegen die Zeit für die nächste Aktualisierung mit meinem Filter nicht gefunden wird. Auf der Seite werden diese Zeilen gesucht: [image: 1771532044543-1dd3b19e-1c7b-4586-814f-de0746287907-grafik.png] Entweder gibt es die in der Schweizer Version nicht, oder sind anders beschrieben.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    E
    So, ich habe das so gelöst Im javascript adapter unter "Zusätzliche NPM-Module" simple-ssh eintragen Dann die Javascript Funktion im Blockly nutzen und folgenes eintragen und anpassen var SSH = require('simple-ssh'); var ssh = new SSH({ host: '<ZIEL-IP>', user: '<USER>', pass: '<PASSWORT>' }); ssh.exec('<BEFEHL>').start(); Quelle https://www.machs-smart.de/iobroker-ssh-befehle-mit-blockly-ausfuhren/
  • 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] Mit Großbuchstaben deklariert wird blau angezeigt

    6
    1
    0 Stimmen
    6 Beiträge
    172 Aufrufe
    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 Stimmen
    1 Beiträge
    129 Aufrufe
    Niemand hat geantwortet
  • Parser Adapter liefert kein Ergebniss

    44
    0 Stimmen
    44 Beiträge
    2k Aufrufe
    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 Stimmen
    9 Beiträge
    494 Aufrufe
    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 Stimmen
    1 Beiträge
    68 Aufrufe
    Niemand hat geantwortet
  • Variablen, oder enum als bedingung

    10
    0 Stimmen
    10 Beiträge
    331 Aufrufe
    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 Stimmen
    3 Beiträge
    106 Aufrufe
    M
    @paul53 :+1:
  • HTTP POST string per blockly senden oder curl string

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    4k Aufrufe
    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 Stimmen
    38 Beiträge
    3k Aufrufe
    H
    @homoran sehr sehr cool! Vielen Dank es funktioniert!
  • Unwillkürliches ausschalten von Aktoren

    3
    1
    0 Stimmen
    3 Beiträge
    304 Aufrufe
    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 Stimmen
    52 Beiträge
    7k Aufrufe
    C
    @joergh danke
  • Gelöst: Zustände in Objekten Zählen

    javascript
    3
    0 Stimmen
    3 Beiträge
    122 Aufrufe
    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 Stimmen
    16 Beiträge
    2k Aufrufe
    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 Stimmen
    9 Beiträge
    315 Aufrufe
    M
    @gammler2003 Danke klappt auch...
  • Umstellung auf "axios"

    33
    0 Stimmen
    33 Beiträge
    3k Aufrufe
    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 Stimmen
    1 Beiträge
    230 Aufrufe
    Niemand hat geantwortet
  • Objekt in JSON Array umwandeln

    10
    0 Stimmen
    10 Beiträge
    237 Aufrufe
    dirk_1930D
    @paul53 :+1: :flushed: Perfekt... Vielen Dank für die Hilfe!
  • Klingelsperre in Fritzbox aktivieren

    blockly
    2
    0 Stimmen
    2 Beiträge
    419 Aufrufe
    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 Stimmen
    6 Beiträge
    408 Aufrufe
    Damrak2022D
    @stefan-glück Irgendwie habe ich es damit nicht hinbekommen, aber mittlerweile funktioniert alles wie es soll
  • Sunwatch Datenlogger auslesen

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    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]

597

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge