Weiter zum Inhalt

Skripten / Logik

16.6k Themen 214.3k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Themen
    49k Beiträge
    T
    @Chrunchy sagte: @paul53 sagte: @Chrunchy [sagte]: Funktion createState in der JavaScript-Script-Engine (ab js-controller 6/7) als veraltet (deprecated) betrachtet und durch setObjectNotExists oder extendObject ersetzt. Wie kommst du darauf? Hatt das hier (https://forum.iobroker.net/topic/75919/createstate-deprecated) so verstanden. Das eine ist Adapterentwicklung das andere Javascript-Adapter - ich benutze in beiden "extendObject" - für nicht Adapterentwickler ist createStates() aber besser.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    HumidorH
    @paul53 Danke, du triggerst eine Funktion Alarm1, die selbstständig alle 5min ausgeführt wird, außer der Trigger stoppt diese. [image: 1775796578011-bildschirmfoto-2026-04-10-um-06.49.28.png]
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Themen
    13k Beiträge
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • stiebel-isg LWZ 504 außerplanmäßige Lüftungsstufe aktivieren

    ventilation heating
    4
    0 Stimmen
    4 Beiträge
    558 Aufrufe
    D
    Ich habe an Stiebel Eltron geschrieben und daraufhin einen Rückruf bekommen: Du hast recht, die Einstellung ist über das ISG nicht möglich, man muss vor der LWZ stehen. Die Einstellung der "Lüfterstufe" im ISGweb auf der Hauptseite ändert nur die permanente Einstellung. D.h. ich werde mir für meinen use-case etwas scripten müssen, was die Einstellungen wieder zurücksetzt. Grüße Dominik
  • Timmer Sonneuntergang/Dämmerung

    blockly
    7
    1
    0 Stimmen
    7 Beiträge
    632 Aufrufe
    D
    @crunchip: Danke ich teste es mal
  • Script PC an

    javascript
    7
    1
    0 Stimmen
    7 Beiträge
    647 Aufrufe
    bahnuhrB
    @dehein2 sagte in Script PC an: @bahnuhr Mache ich gerne. Sorry die Forensoftware ist noch neu für mich... ist das der Pfeil? Sehe leider keinen Daumen ;) Pfeil ist schon richtig. Alles gut.
  • setState bei image click ?

    javascript
    3
    0 Stimmen
    3 Beiträge
    299 Aufrufe
    M
    @liv-in-sky Konnte das Bild in das Widget einfügen hat super geklappt. Danke !
  • Ausführen von Befehlen mit exec

    javascript blockly
    13
    3
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    N
    @TeNNo2k5 Danke für den hinweis. Natürlich muss nicht alles in Blockly umgesetzt werden, aber mich hat interessiert wie man das umsetzen kann. Hat funktioniert. Vielen Dank an alle!
  • Entfernung (km) zum Haus berechnen (GPS) - Heizungssteuerung

    blockly scenes
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    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 Stimmen
    1 Beiträge
    294 Aufrufe
    Niemand hat geantwortet
  • Raumsteuerung m6 Braava

    javascript blockly
    1
    0 Stimmen
    1 Beiträge
    205 Aufrufe
    Niemand hat geantwortet
  • (gelöst) Sonnenaufganggesteuertes Licht

    javascript blockly
    16
    2
    0 Stimmen
    16 Beiträge
    598 Aufrufe
    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 Stimmen
    9 Beiträge
    1k Aufrufe
    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 Stimmen
    3 Beiträge
    691 Aufrufe
    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 Stimmen
    3 Beiträge
    356 Aufrufe
    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 Stimmen
    4 Beiträge
    243 Aufrufe
    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 Stimmen
    1 Beiträge
    239 Aufrufe
    Niemand hat geantwortet
  • Mirror scripts: Keine Dateien werden erstellt

    javascript
    1
    0 Stimmen
    1 Beiträge
    245 Aufrufe
    Niemand hat geantwortet
  • Steckdose einschalten per Alexa, unterbinden bei Ablauf

    blockly
    2
    0 Stimmen
    2 Beiträge
    156 Aufrufe
    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 Stimmen
    10 Beiträge
    927 Aufrufe
    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 Stimmen
    3 Beiträge
    299 Aufrufe
    AnEn030A
    ahhh geil, doch so einfach , vielen herzlichen Dank! klappt
  • javascript.1 verwenden

    javascript
    3
    0 Stimmen
    3 Beiträge
    301 Aufrufe
    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 Stimmen
    2 Beiträge
    410 Aufrufe
    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.

417

Online

32.8k

Benutzer

82.7k

Themen

1.3m

Beiträge