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 ich werde es Morgen nochmal komplett neu Installieren da es trotz Einstellungen nicht funktioniert bzw. Zufriedenstellend. Irgendwas passt da nicht so richtig in den Anzeigen.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    Murphy 0M
    @berny-k Der bypassMode sollte dann so gestellt sein dass die Module weiter produzieren und die Energie ins Haus geben. Probiere das so zu machen. Sicherung würde ich vorher machen 😉
  • 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
  • Entfernung (km) zum Haus berechnen (GPS) - Heizungssteuerung

    blockly scenes
    5
    0 Votes
    5 Posts
    1k Views
    Dr. BakteriusD
    @00000x Bitte: <block xmlns="http://www.w3.org/1999/xhtml" type="procedures_defreturn" id="T2aJ0tb9HX@%hW^U!Z+O" x="862" y="1738"> <mutation> <arg name="pos1" varid="@L?GM5iuc/nKas!lg|v("></arg> <arg name="pos2" varid="gH*jS,o2+ycD)[7MEx^~"></arg> </mutation> <field name="NAME">Entfernung</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"> <block type="comment" id="2[O;MH;_SQ^Zzaoc:WGn"> <field name="COMMENT">Entfernung zwischen 2 Koordinaten berechnen</field> <next> <block type="variables_set" id="[$5QQne3=vP|E{oN*VTu"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> <value name="VALUE"> <block type="lists_split" id="EGH*r.Ebsdc-8]/~xt9Z"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="variables_get" id="cK}4svwbb6?-D$+$mQ#w"> <field name="VAR" id="@L?GM5iuc/nKas!lg|v(" variabletype="">pos1</field> </block> </value> <value name="DELIM"> <shadow type="text" id="(4[(wy#`DKj$DfZ=vqUf"> <field name="TEXT">,</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="A.I8^6oW7x{`SoC5^D-u"> <field name="VAR" id="0G0mLGmH3[.Y)Ae54AaS" variabletype="">lat1</field> <value name="VALUE"> <block type="lists_getIndex" id="#i5*9ITFEX!CdOaJg#`["> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="9sA%[*/ABx-BPqR+PAtc"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> </block> </value> <value name="AT"> <block type="math_number" id="qPe8zfF^rn2#go;~Z-1Y"> <field name="NUM">1</field> </block> </value> </block> </value> <next> <block type="variables_set" id="besUzW+Ew0?tMqHoxSz;"> <field name="VAR" id="}z5HG|{ai^o3:iyomfSl" variabletype="">lon1</field> <value name="VALUE"> <block type="lists_getIndex" id=";,K=u!zsvJp@OvJQ1_ow"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="I4={ah6ne?*3sw}~,q~9"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> </block> </value> <value name="AT"> <block type="math_number" id="(jza0yR)4BJ3}[FBAAS]"> <field name="NUM">2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="oY6[=%SE96KkZEJ65RlR"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> <value name="VALUE"> <block type="lists_split" id="MkS!c!Gsz0n@cp*gw6Kl"> <mutation mode="SPLIT"></mutation> <field name="MODE">SPLIT</field> <value name="INPUT"> <block type="variables_get" id="y66evFQ5^8O^-|/.ACN,"> <field name="VAR" id="gH*jS,o2+ycD)[7MEx^~" variabletype="">pos2</field> </block> </value> <value name="DELIM"> <shadow type="text" id="!ahV6xI+*Qz6uz,s,qYI"> <field name="TEXT">,</field> </shadow> </value> </block> </value> <next> <block type="variables_set" id="V}-$z-=!l_[V:%A_`7Ys"> <field name="VAR" id="jOT#/LHb)e7-{Y}t}BVB" variabletype="">lat2</field> <value name="VALUE"> <block type="lists_getIndex" id="q^=L%dCvtrZ7mDDzME4="> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="M|~p}XW{vx)cd:}OcyrM"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> </block> </value> <value name="AT"> <block type="math_number" id="@W,[/HlPvqlMQC=b;-cm"> <field name="NUM">1</field> </block> </value> </block> </value> <next> <block type="variables_set" id="XuP8O^n,]yT~rsNCJX^o"> <field name="VAR" id="-L[Io*#C6G8z|KDd4,fF" variabletype="">lon2</field> <value name="VALUE"> <block type="lists_getIndex" id="ifqU8#ps8)_IQ=G$@t(E"> <mutation statement="false" at="true"></mutation> <field name="MODE">GET</field> <field name="WHERE">FROM_START</field> <value name="VALUE"> <block type="variables_get" id="n#`)KeOuy1Y!-.]w-F7Z"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> </block> </value> <value name="AT"> <block type="math_number" id="$4)8J+Ac[;aoiXK-vd-/"> <field name="NUM">2</field> </block> </value> </block> </value> <next> <block type="variables_set" id="$y*EEX75ZdFmp}6|o@~x"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> <value name="VALUE"> <block type="math_round" id="-.tn4!-9J4vn;I{uW`8p"> <field name="OP">ROUND</field> <value name="NUM"> <shadow type="math_number" id="QmXZYtjGC^ujr3LZ.j?:"> <field name="NUM">3.1</field> </shadow> <block type="math_arithmetic" id="hT-(QhU{o)Ino]ByQ,W."> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="G^tm(y4VI4s)st6NsB9F"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="k%r*%B$0ABY3JK7$?Jf_"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="i/f3g_7B,k!ITta,BopC"> <field name="NUM">111.324</field> </shadow> </value> <value name="B"> <shadow type="math_number" id="aN90##;n0pXXvH;{|Y#X"> <field name="NUM">1</field> </shadow> <block type="math_trig" id="ljE{kFpfFBHMvo0-Qi[c"> <field name="OP">ACOS</field> <value name="NUM"> <shadow type="math_number" id="ikmVw4d2^(_MXYN)]v1j"> <field name="NUM">45</field> </shadow> <block type="math_arithmetic" id=";xSp^W(ChZZeOVah=%8T"> <field name="OP">ADD</field> <value name="A"> <shadow type="math_number" id="K#l!z7kO[;!qs%=Um5ov"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="7qpTT~}-.Ee,P/iTuh5R"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="{:D((C()}/y{AQrCGb2g"> <field name="NUM">1</field> </shadow> <block type="math_trig" id="IvG(t!*n;{t.8S/Baqyi"> <field name="OP">SIN</field> <value name="NUM"> <shadow type="math_number" id="X1n[H=%ziU-rBWH0v;gt"> <field name="NUM">45</field> </shadow> <block type="variables_get" id="q`^eYV=Pcp[l3}+AF|n-"> <field name="VAR" id="0G0mLGmH3[.Y)Ae54AaS" variabletype="">lat1</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="A(9]a|YA`@nlb[N))[}J"> <field name="NUM">1</field> </shadow> <block type="math_trig" id="NtE}O$nOP7Bkm4FrqVep"> <field name="OP">SIN</field> <value name="NUM"> <shadow type="math_number" id="X1n[H=%ziU-rBWH0v;gt"> <field name="NUM">45</field> </shadow> <block type="variables_get" id="DOMb_=FcM#GOjl=xSVX*"> <field name="VAR" id="jOT#/LHb)e7-{Y}t}BVB" variabletype="">lat2</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=":]3}I;7rf`r$0hk$7}Uf"> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="[)+iKs)1[+tpF1ohL]_m"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="1kpB8L9oEKT@95p_?Mf."> <field name="NUM">1</field> </shadow> <block type="math_arithmetic" id="q$]?PprPXy$!Ur|,+_ze"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="{:D((C()}/y{AQrCGb2g"> <field name="NUM">1</field> </shadow> <block type="math_trig" id="(XF#NPyZ*uGqINJZF:D%"> <field name="OP">COS</field> <value name="NUM"> <shadow type="math_number" id="X1n[H=%ziU-rBWH0v;gt"> <field name="NUM">45</field> </shadow> <block type="variables_get" id="=~$.Ys+$SrT.RhmsYG45"> <field name="VAR" id="0G0mLGmH3[.Y)Ae54AaS" variabletype="">lat1</field> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="A(9]a|YA`@nlb[N))[}J"> <field name="NUM">1</field> </shadow> <block type="math_trig" id="DNgAR4/|g_t)Gx2}MMam"> <field name="OP">COS</field> <value name="NUM"> <shadow type="math_number" id="X1n[H=%ziU-rBWH0v;gt"> <field name="NUM">45</field> </shadow> <block type="variables_get" id="8n{-RBpx[YKsR$AocUxD"> <field name="VAR" id="jOT#/LHb)e7-{Y}t}BVB" variabletype="">lat2</field> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id="[,h/obEF?,02mPQUC{yj"> <field name="NUM">1</field> </shadow> <block type="math_trig" id="g1D!+/4.$j[s984^ALke"> <field name="OP">COS</field> <value name="NUM"> <shadow type="math_number" id=":!exR3Jd^z9OS8nq{(zk"> <field name="NUM">45</field> </shadow> <block type="math_arithmetic" id="0cF`R:.K^2n}6%gg*t#:"> <field name="OP">MINUS</field> <value name="A"> <shadow type="math_number" id="{:D((C()}/y{AQrCGb2g"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="^_{PS_btayQ+jZqW|2e}"> <field name="VAR" id="-L[Io*#C6G8z|KDd4,fF" variabletype="">lon2</field> </block> </value> <value name="B"> <shadow type="math_number" id="A(9]a|YA`@nlb[N))[}J"> <field name="NUM">1</field> </shadow> <block type="variables_get" id="srvRO~):6H}h.@:T:[Px"> <field name="VAR" id="}z5HG|{ai^o3:iyomfSl" variabletype="">lon1</field> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> </block> </value> <value name="B"> <shadow type="math_number" id=",46mChF+VJW1ftE!v5Sy"> <field name="NUM">1000</field> </shadow> </value> </block> </value> </block> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> <value name="RETURN"> <block type="variables_get" id="3t3*mh9SjUvoK0?I2Rcj"> <field name="VAR" id="huzpNLp1==YK4TwoO7|r" variabletype="">result</field> </block> </value> </block>
  • Lichtorgel aus Wlan Lampen

    multimedia javascript blockly
    1
    0 Votes
    1 Posts
    288 Views
    No one has replied
  • Raumsteuerung m6 Braava

    javascript blockly
    1
    0 Votes
    1 Posts
    203 Views
    No one has replied
  • (gelöst) Sonnenaufganggesteuertes Licht

    javascript blockly
    16
    2
    0 Votes
    16 Posts
    596 Views
    C
    @Jan1 said in (gelöst) Sonnenaufganggesteuertes Licht: @chrbo80 Die Chancen dafür waren auch groß ;-) Ob diese Lösung die beste ist? Es war lediglich die Antwort auf diese Frage: @chrbo80 sagte in (gelöst) Sonnenaufganggesteuertes Licht: Mit welcher Logik kann ich das abfangen? Kann ich da noch eine Bedingung/einen Vergleich einbauen ("Wenn 7.30 kleiner als Sonnenaufgang oder so?). Zumindest klappt es!
  • CGI an WansView Camera senden, Autorisierung

    javascript blockly
    9
    0 Votes
    9 Posts
    1k Views
    lobomauL
    @mondi121 ich bekomme es auch nicht hin mit der wansview w2. Ich mache das dann über den Umweg mit der surveillance Station in der synology.
  • require("request") ergibt EHOSTUNREACH

    javascript communication
    3
    0 Votes
    3 Posts
    685 Views
    etvE
    Servus @uschi08 , leider bis jetzt noch nicht! Ich hab nun mal genauer geschaut und eine Adresse ausgemacht, die eigentlich immer da zu sein scheint - ist aber nix bei uns im Haus und soll angeblich ein Samsung Gerät sein. Das hab ich als zu überwachendes Gerät angelegt und lasse mitloggen, ob es irgendwann auch weg ist..... Sonst hab ich nun auch den restart des Adapters um 0:05 Uhr eingestellt, damit es wenigstens nicht eine endlose Loste wird, sondern jeden Tag auf's Neue erstellt wird....ist aber leider rein kosmetisch. Das Spannende ist, dass diese Einträge eigentlich alle nur eine MAC Adresse haben, aber keinen Bluetooth Namen oder Vendor eingetragen haben.... Liebe Grüße Tom
  • "foreach" Objekt / Gerät in iobroker

    blockly
    3
    0 Votes
    3 Posts
    345 Views
    C
    Ich würde an der Stelle einen Selektor verwenden. Also würde das ungefähr so aussehen um die Uhrzeiten zu erhalten. $('[id=alexa2.0.Echo-Devices.G2A0RF048375090X.Alarm*time]').each((id,i) => log('ID_Uhrzeit: ' + id)). Dann kannst du deine Zeitprüfung machen und entsprechend einfach in der id ".time" durch ".enabled" ersetzen
  • Steuerung Medion P85035 WLAN Radio

    javascript blockly multimedia
    4
    0 Votes
    4 Posts
    232 Views
    surfer09S
    Ich bin nun nach eigenen Recherchen soweit gekommen und kann das Radio schonmal ein-/ausschalten und eine Lautstärke mitgeben. Kann man die URL Aufrufe auch irgendwie verbinden? Also Einschalt-Befehl+Lautstärke setzen? Im Moment habe ich davon 2 Aufrufe gemacht, was auch so funktioniert, aber vielleicht gehts auch einfacher? <xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="VZi)(W,N{LpxxPQr$bsT" x="112" y="-87"> <field name="COMMENT">Radio ausschalten</field> <next> <block type="request" id="S|n:dj{oiz=1O-(gsngN"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="}P]O*D3PMn{`msoXI-JV"> <field name="TEXT">http://192.168.1.189/fsapi/SET/netRemote.sys.power?pin=1234&amp;value=0</field> </shadow> </value> <next> <block type="debug" id="*$W=T7=ym%G$tdB*$?Br"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id="P6$/p9O|Df[5s#|RZ7uJ"> <field name="TEXT">Radio ausgeschaltet</field> </shadow> </value> <next> <block type="comment" id="P6lH!uuec[xZwMzX.e+L"> <field name="COMMENT">Radio einschalten</field> <next> <block type="request" id="@x*FIJj|_mu4.zOfq5r4"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="0k%y?Sz$IDYTLhPrObhG"> <field name="TEXT">http://192.168.1.189/fsapi/SET/netRemote.sys.power?pin=1234&amp;value=1</field> </shadow> </value> <next> <block type="comment" id="H%t%wm;@[4i1Zy8!/F;c"> <field name="COMMENT">Lautstärke auf 2 setzen</field> <next> <block type="request" id="9g4vdgH?{-4hP~}v@)0)"> <mutation with_statement="false"></mutation> <field name="WITH_STATEMENT">FALSE</field> <field name="LOG"></field> <value name="URL"> <shadow type="text" id="_F`/3N!F1UV~XPm{:[nu"> <field name="TEXT">http://192.168.1.189/fsapi/SET/netRemote.sys.audio.volume?pin=1234&amp;value=2</field> </shadow> </value> <next> <block type="debug" id="D-PdPt(hw6Wmzuaob:A;"> <field name="Severity">error</field> <value name="TEXT"> <shadow type="text" id="i4A%pS|#+BM`th_UCWd5"> <field name="TEXT">Radio eingeschaltet - Laustärke 2</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
  • Lautstärke für Alexa Multiroom steuern

    blockly javascript
    1
    0 Votes
    1 Posts
    239 Views
    No one has replied
  • Mirror scripts: Keine Dateien werden erstellt

    javascript
    1
    0 Votes
    1 Posts
    240 Views
    No one has replied
  • Steckdose einschalten per Alexa, unterbinden bei Ablauf

    blockly
    2
    0 Votes
    2 Posts
    154 Views
    O
    Gibt es sicher meherer Möglichkeiten. Die Erste, die mir einfällt: Schalte doch eine völlig andere Steckdose als Dummy sozusagen. Und nach deiner Prüfung erst die tatsächliche Steckdose.
  • Optimierungsanfrage für Timer-Skript (Blockly)

    blockly
    10
    1
    0 Votes
    10 Posts
    901 Views
    K
    Hi, wollte nur kurz Danke sagen. Das war der richtige Tipp. Und wieder was gelernt, merci.
  • Licht an bei Türöffnung

    blockly
    3
    1
    0 Votes
    3 Posts
    299 Views
    AnEn030A
    ahhh geil, doch so einfach , vielen herzlichen Dank! klappt
  • javascript.1 verwenden

    javascript
    3
    0 Votes
    3 Posts
    296 Views
    R
    @Glasfaser sagte in javascript.1 verwenden: Bei z.b. Skript neu erstellen kannst du die Instanz auswählen Herzlichen Dank! Wer Augen hat ist...
  • [gelöst]Zeitbasierte Ausführung(*.sh)für Raspberry erstellen

    monitoring
    2
    0 Votes
    2 Posts
    408 Views
    M
    @meierchen006 So ich Antworte mir mal selbst: ich habe mich dazu entschieden mein Cronjob täglich von 08:00 Uhr bis 17:00 Uhr, immer um eine Minute nach der vollen Stunde auszuführen. Dazu mein Crontab der jetzt auch funktioniert: 1 8-17 * * * ./stuendlich_daten.sh gespeichert habe ich den crontab unter dem vorgewählten Ordner/Dateinamen von "crontab -e" bei mir /tmp/crontab.5P70er/crontab bevor das alles möglich war habe ich mich nach folgender Seite gerichtet. Script/Datei ausführen oder ausführbar machen Nun da dies erreicht ist, werde ich noch schauen das meine *.csv Dateien, einmal am Monatsanfang, in einen Backup Ordner gespeichert werden.
  • (gelöst) Per tasmota-Steckdose Echo steuern

    javascript blockly
    12
    3
    0 Votes
    12 Posts
    539 Views
    C
    Hi, ich habe das ganze jetzt nochmal beobachtet. Es lag an der Steckdose (Blitzwolf SHP6). Die hat - warum auch immer - scheinbar manchmal Blödsinn gemessen bzw. gemessen. Mit einer HMIP Schalt/Mess-Steckdose klappts ohne Probleme...
  • Sky Q Receiver steuern

    communication multimedia
    2
    0 Votes
    2 Posts
    1k Views
    crunchipC
    @weidlix über den upnp Adapter, werden zwar die Receiver erkannt, jedoch ist es nicht möglich, diese darüber zu steuern. Hatte das Thema schon mal im Upnp Adapter thread. Ist aber schon ne Weile her. Anderweitig ist mir auch nichts anderes bekannt. Da ich sowieso einen Broadlink habe, steuer ich darüber und habe es nicht weiter verfolgt.
  • Stati Scripte - Farben, Speicherort

    javascript
    2
    0 Votes
    2 Posts
    329 Views
    paul53P
    @ub-privat sagte: WANN und WARUM lege ich ein Script unter ROOT, GLOBAL oder COMMON ab? Alle Ordner - außer global - dienen nur als Mittel zur besseren Übersicht. Es gibt keine Vorgaben zu deren Verwendung. Scripte im Ordner global laufen nicht eigenständig, sondern werden automatisch in jedes andere Script kopiert und in diesem Umfeld ausgeführt; sie sollten nur häufig verwendete eigene Funktionen enthalten. @ub-privat sagte in Stati Scripte - Farben, Speicherort: Script unter GLOBAL ab, dann ist es "GRÜN II" "GRÜN II" bedeutet im Ordner global, dass das Script in die anderen (nicht globalen) Scripte kopiert wird, wenn sie starten.
  • Mit Blockly Script ansteuern funktioniert nicht (gelöst!)

    blockly
    3
    3
    0 Votes
    3 Posts
    276 Views
    Elektroniker86E
    Aha, ich dachte schon ich habe irgendwo ein Fehler. Dann werde ich das so machen! Vielen lieben Dank für die schnelle Hilfe !!! :+1:
  • Zufälliges ausführen eines Scripts in gewissen grenzen

    blockly
    6
    0 Votes
    6 Posts
    461 Views
    B
    @paul53 ok! danke nun verstehe ich :)

621

Online

32.7k

Users

82.5k

Topics

1.3m

Posts