Skip to content

Skripten / Logik

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

16.4k Themen 211.7k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    Ro75R
    Ich habe das Skript aktualisiert. Neuer Stand: 1.0.17. Aktueller Code, Beispiel, Archiv, Code aus meiner Umgebung und Parameterbeschreibung >> ALLES in Post 1. Ro75.
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    AsgothianA
    Klar - das Blinken erfordert Aktion jede Sekunde. Das kostet :)
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • Blockly Objekt ID Unterschiede

    blockly javascript
    6
    2
    1 Stimmen
    6 Beiträge
    852 Aufrufe
    haus-automatisierungH
    @marting Die Frage ist eher, warum Du nichts dazu gefunden hast... wo muss ich besser werden? :)
  • Max Objekte in IDs from Selektor

    4
    0 Stimmen
    4 Beiträge
    367 Aufrufe
    CodierknechtC
    @simplyclever Dann vielleicht häppchenweise. Der Selektor muss ja nicht unbedingt gleich auf alles unterhalb der Instanz gucken. Etwas in der Art renault.0.VF1xxxxxxxxxxxxxx1.general.vehicleDetails.battery.* könnte ja reichen. Da nimmt man sich dann halt peu á peu den nächsten Abschnitt vor.
  • Nulleinspeisung mit Tibber Puls und opendtu

    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    M
    @mashpony ich musste nochmal das ganze etwas optimieren. Der Tibber node unterteilt die leistungswerte in +. und - Deswegen die Funktion um Einspeisung vom Bezug abzuziehen. Hinten habe ich mit dem deadband das ganze noch etwas geglättet das es nicht immer wie wild regelt. außerdem ist der WR jetzt nach unten auf 10% limitiert. [ { "id": "7bf3afac51a18e13", "type": "tab", "label": "PVNull", "disabled": false, "info": "", "env": [] }, { "id": "2dacc22b5419c832", "type": "mqtt out", "z": "7bf3afac51a18e13", "name": "WR MQTT", "topic": "solar/116484658617/cmd/limit_nonpersistent_absolute", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "87b2d138566ff5cc", "x": 1910, "y": 300, "wires": [] }, { "id": "992140f008964c0e", "type": "function", "z": "7bf3afac51a18e13", "name": "Berechnung für WR Limit", "func": "// MAX generation of the inverter Watts\nvar maxPower = 1600;\n\n// Get current power limit or default\nvar power = context.get('power') || maxPower;\npower += msg.payload;\n\n// clamp power between 0 and max\nif (power > maxPower) power = maxPower;\nif (power > 0) power = power + 150;\nif (power < 10) power = 160;\n\n// Wenn keine Werte vom Zähler kommen dann 600 W\n//if (power == 0) power = 1600;\n\n// store current powerlimit and update message\ncontext.set('power', power);\nmsg.payload = power;\n\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1430, "y": 300, "wires": [ [ "cfc7a51cd2515e7c", "50883943a3e33578" ] ] }, { "id": "cfc7a51cd2515e7c", "type": "debug", "z": "7bf3afac51a18e13", "name": "WR Wert", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1680, "y": 220, "wires": [] }, { "id": "7c9607b020e57be9", "type": "tibber-feed", "z": "7bf3afac51a18e13", "name": "B4D", "active": true, "apiEndpointRef": "acaea9XXXXXXXXXX", "homeId": "6453fa8f-XXXXXXXXXXXXX", "timestamp": false, "power": true, "lastMeterConsumption": false, "accumulatedConsumption": false, "accumulatedProduction": false, "accumulatedConsumptionLastHour": false, "accumulatedProductionLastHour": false, "accumulatedCost": false, "accumulatedReward": false, "currency": false, "minPower": false, "averagePower": false, "maxPower": false, "powerProduction": true, "minPowerProduction": false, "maxPowerProduction": false, "lastMeterProduction": false, "powerFactor": false, "voltagePhase1": false, "voltagePhase2": false, "voltagePhase3": false, "currentL1": false, "currentL2": false, "currentL3": false, "signalStrength": false, "x": 50, "y": 300, "wires": [ [ "303c3a9e684e3aca", "acd3b41ba56f0995" ] ] }, { "id": "303c3a9e684e3aca", "type": "debug", "z": "7bf3afac51a18e13", "name": "Tibber output", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 260, "y": 220, "wires": [] }, { "id": "f2cca6ecae7ad5fc", "type": "debug", "z": "7bf3afac51a18e13", "name": "Tibber positiv", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "positiv", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 640, "y": 220, "wires": [] }, { "id": "727ade03c58e2d2b", "type": "change", "z": "7bf3afac51a18e13", "name": "Positiv", "rules": [ { "t": "set", "p": "positiv", "pt": "msg", "to": "payload.power", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 430, "y": 300, "wires": [ [ "f2cca6ecae7ad5fc", "e957d8fb0f0bd489" ] ] }, { "id": "52b31c00780196ab", "type": "delay", "z": "7bf3afac51a18e13", "name": "", "pauseType": "rate", "timeout": "10", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "10", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": true, "allowrate": false, "outputs": 1, "x": 1110, "y": 300, "wires": [ [ "992140f008964c0e", "aed44dec4557ee97" ] ] }, { "id": "aed44dec4557ee97", "type": "debug", "z": "7bf3afac51a18e13", "name": "nach delay", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1390, "y": 220, "wires": [] }, { "id": "50883943a3e33578", "type": "rbe", "z": "7bf3afac51a18e13", "name": "", "func": "deadband", "gap": "30", "start": "", "inout": "out", "septopics": true, "property": "payload", "topi": "topic", "x": 1690, "y": 300, "wires": [ [ "2dacc22b5419c832", "fb6e2a22c5dd3e5f" ] ] }, { "id": "fb6e2a22c5dd3e5f", "type": "debug", "z": "7bf3afac51a18e13", "name": "nach Filter", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1910, "y": 220, "wires": [] }, { "id": "acd3b41ba56f0995", "type": "time-switch", "z": "7bf3afac51a18e13", "name": "zeitschaltung", "lat": "48.1492455", "lon": "12.0148575", "startTime": "sunrise", "endTime": "sunset", "startOffset": 0, "endOffset": 0, "x": 250, "y": 300, "wires": [ [ "727ade03c58e2d2b" ], [] ] }, { "id": "779a354a9c204395", "type": "inject", "z": "7bf3afac51a18e13", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "00 22 * * *", "once": false, "onceDelay": 0.1, "topic": "", "payload": "1600", "payloadType": "num", "x": 1370, "y": 360, "wires": [ [ "50883943a3e33578" ] ] }, { "id": "e957d8fb0f0bd489", "type": "change", "z": "7bf3afac51a18e13", "name": "Negativ", "rules": [ { "t": "set", "p": "negativ", "pt": "msg", "to": "payload.powerProduction", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 620, "y": 300, "wires": [ [ "7576e3b12206f405", "cac94db4ac79fe23" ] ] }, { "id": "7576e3b12206f405", "type": "debug", "z": "7bf3afac51a18e13", "name": "Tibber - negativ", "active": false, "tosidebar": true, "console": false, "tostatus": false, "complete": "negativ", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 840, "y": 400, "wires": [] }, { "id": "6f770f0a3305a631", "type": "debug", "z": "7bf3afac51a18e13", "name": "nach rechner", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1070, "y": 360, "wires": [] }, { "id": "cac94db4ac79fe23", "type": "change", "z": "7bf3afac51a18e13", "name": "Suptrahieren", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "msg.positiv - msg.negativ", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 830, "y": 300, "wires": [ [ "52b31c00780196ab", "6f770f0a3305a631" ] ] }, { "id": "87b2d138566ff5cc", "type": "mqtt-broker", "name": "", "broker": "192.168.1.2", "port": "1883", "clientid": "", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "autoUnsubscribe": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }, { "id": "acaea9118c2d1751", "type": "tibber-api-endpoint", "queryUrl": "https://api.tibber.com/v1-beta/gql", "feedConnectionTimeout": "30", "feedTimeout": "60", "queryRequestTimeout": "30", "name": "B4D" } ] [image: 1706607905892-bildschirmfoto-2024-01-30-um-10.40.44-resized.png]
  • Objekt / Datenpunkt sperren möglich?

    javascript
    12
    0 Stimmen
    12 Beiträge
    702 Aufrufe
    M
    @djmarc75 Mit welchem Ziel? Der existente Datenpunkt Volume wird durch einen Bug geändert, obwohl er das nicht soll. Mit dem Effekt, dass sich die Lautstärke der Lautsprecher ändert. Das möchte ich nicht.
  • Alexa Sprachausgabe reihenfolge ändern

    9
    0 Stimmen
    9 Beiträge
    199 Aufrufe
    DJMarc75D
    @timowald sagte in Alexa Sprachausgabe reihenfolge ändern: Ich hatte den verwendet aha, also Tankerkönig - sowas gehört im Eingangspost erwähnt ! Das sind 3 Nachkommastellen und damit kann Alexa (nicht der Adapter sondern die Geräte) nichts anfangen.
  • Fixe Liste als Szenario / DropDown Auswahl nutzen

    1
    0 Stimmen
    1 Beiträge
    165 Aufrufe
    Niemand hat geantwortet
  • Blockly Script -> ein Script für mehrere Trigger

    24
    1
    0 Stimmen
    24 Beiträge
    2k Aufrufe
    paul53P
    @cheffe sagte: exportieren Spoiler <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="Hi#eH=aV#vRl=,^ygpGJ">idsSrc</variable> <variable id="xmlJs;}Sy%29W|+F.NyC">colors</variable> <variable id="Yhg0(ku+)2HzqtF%`)Y(">idsDst</variable> <variable id="HA8wOV^!Mo*mVkmuE`{G">path</variable> <variable id="DkSf^#3^q_TCS/]@U1f|">color</variable> </variables> <block type="variables_set" id="ZMmnT=Sgjmi[-81-5:T7" x="62" y="62"> <field name="VAR" id="Hi#eH=aV#vRl=,^ygpGJ">idsSrc</field> <value name="VALUE"> <block type="lists_create_with" id="GC|S:*pW~Z~r2b9@=FfC"> <mutation items="3"></mutation> <value name="ADD0"> <block type="field_oid" id="skLX]bOBk|j*A:|{6S67"> <field name="oid">default</field> </block> </value> <value name="ADD1"> <block type="field_oid" id="deqLr_^vEI%YW4p#Ft;w"> <field name="oid">default</field> </block> </value> <value name="ADD2"> <block type="field_oid" id="C7KgG]w4;Cf_5UD$XjB*"> <field name="oid">default</field> </block> </value> </block> </value> <next> <block type="variables_set" id="-4N9.Y]Qe;9:lX0ARkDl"> <field name="VAR" id="Yhg0(ku+)2HzqtF%`)Y(">idsDst</field> <value name="VALUE"> <block type="lists_create_with" id="hACXIS)K?`+!A/}V3.@t"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="tdS:Gvo,qdR-v4EF%D5N"> <field name="TEXT">fritzdect.0.DECT_130770174577-1.</field> </block> </value> <value name="ADD1"> <block type="text" id="7Sbp]]Hk]o(3(lOv=Hdt"> <field name="TEXT">fritzdect.0.DECT_1307701xxxxx-1.</field> </block> </value> <value name="ADD2"> <block type="text" id="6+#W2Ll^v!p-lVlDHe!}"> <field name="TEXT">fritzdect.0.DECT_1307701xxxxx-1.</field> </block> </value> </block> </value> <next> <block type="on_ext" id="IbyVK%nhw1e;G[XO=,ZH"> <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="#K4xW+0~Z/V!)b=W%pJO"> <field name="oid">default</field> </shadow> <block type="variables_get" id="qBcGS~jE=R?iWxiTbkGP"> <field name="VAR" id="Hi#eH=aV#vRl=,^ygpGJ">idsSrc</field> </block> </value> <statement name="STATEMENT"> <block type="variables_set" id="bDt/7kIkUcvh|mzux5h9"> <field name="VAR" id="HA8wOV^!Mo*mVkmuE`{G">path</field> <value name="VALUE"> <block type="lists_getIndex" id="!^+`}av#Hr0]D*@zqTg("> <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="u?O$mJqm}|{AFnc3W53."> <field name="VAR" id="Yhg0(ku+)2HzqtF%`)Y(">idsDst</field> </block> </value> <value name="AT"> <block type="lists_indexOf" id="2oq|1``]/mB3]lgN0`r}"> <field name="END">FIRST</field> <value name="VALUE"> <block type="variables_get" id="cj_vdh4R}:x?Ey2AE-y*"> <field name="VAR" id="Hi#eH=aV#vRl=,^ygpGJ">idsSrc</field> </block> </value> <value name="FIND"> <block type="on_source" id="]I.I,=i+XZ8MM$-jw3Ll"> <field name="ATTR">id</field> </block> </value> </block> </value> </block> </value> <next> <block type="variables_set" id=".-I,h2xyWa|SzGjFsGFH"> <field name="VAR" id="DkSf^#3^q_TCS/]@U1f|">color</field> <value name="VALUE"> <block type="lists_getIndex" id="Ff!f[H06W-8:!Hf@MS9!"> <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="F*thvjBv_%$3b]!*eba("> <field name="VAR" id="xmlJs;}Sy%29W|+F.NyC">colors</field> </block> </value> <value name="AT"> <block type="on_source" id="X98X9-/y?U0uI`*rb[`z"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <next> <block type="controls_if" id="q%DN/O2K^zy0y^*`SJ~U"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="G8`poFCeW?wsW/s{7:Uu"> <field name="OP">EQ</field> <value name="A"> <block type="convert_type" id="XVq3|UyI}*y7ZA||_sGA"> <value name="ITEM"> <block type="variables_get" id="?llSUTx335xf~y{Cc7t*"> <field name="VAR" id="DkSf^#3^q_TCS/]@U1f|">color</field> </block> </value> </block> </value> <value name="B"> <block type="text" id="o+.M^C~ZBwDu]t7PJMCo"> <field name="TEXT">number</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control_ex" id="bzIJj2|2J:ki/X_kJbl=" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="v:FgL~c4TV?QqS}-XxW9"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="[CY5#utPi%^zn/i6vYn4" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="`:71W.^^|Ekvx}tg4H=#"> <field name="VAR" id="HA8wOV^!Mo*mVkmuE`{G">path</field> </block> </value> <value name="ADD1"> <block type="text" id="u?t0tI3MwLtSBl?=FTGe"> <field name="TEXT">temperature</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="ymtV(ImH`B(JpW`z_/Q:"> <field name="BOOL">TRUE</field> </shadow> <block type="variables_get" id=")^U5ec$XLTJ~Zstbg6W4"> <field name="VAR" id="DkSf^#3^q_TCS/]@U1f|">color</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="5.BL.WR6]-D;e(kZa{[:"> <field name="NUM">0</field> </shadow> </value> </block> </statement> <statement name="ELSE"> <block type="control_ex" id="}k9jaEh_X![G^K/3:Btg"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="v:FgL~c4TV?QqS}-XxW9"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="TgL1NmzQR)W=J))(1ioa" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="wl?@Nld1?Izax^[TVq{m"> <field name="VAR" id="HA8wOV^!Mo*mVkmuE`{G">path</field> </block> </value> <value name="ADD1"> <block type="text" id="RHlVCR98ZQMhQgJ?fS[W"> <field name="TEXT">hue</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="ymtV(ImH`B(JpW`z_/Q:"> <field name="BOOL">TRUE</field> </shadow> <block type="lists_getIndex" id="o226vJK8#-Igf*R.q(RQ"> <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="OyGNR)7e#W,!+E;rY8s."> <field name="VAR" id="DkSf^#3^q_TCS/]@U1f|">color</field> </block> </value> <value name="AT"> <block type="math_number" id="PAGqQ5DHK-95whM$,clx"> <field name="NUM">1</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="Tv~lO]wGDR;^eR,e?CG_"> <field name="NUM">0</field> </shadow> </value> <next> <block type="control_ex" id="2JUnTRJbGXqpzemH(~i3"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="v:FgL~c4TV?QqS}-XxW9"> <field name="oid">Object ID</field> </shadow> <block type="text_join" id="O[rkhu9F8{$dS=F?pu!P" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="variables_get" id="9Z~h:7mKfnI`FdOtlrDm"> <field name="VAR" id="HA8wOV^!Mo*mVkmuE`{G">path</field> </block> </value> <value name="ADD1"> <block type="text" id="Mm{6;kcRL9lklHoypMZs"> <field name="TEXT">saturation</field> </block> </value> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="ymtV(ImH`B(JpW`z_/Q:"> <field name="BOOL">TRUE</field> </shadow> <block type="lists_getIndex" id="z2O@l~[$f,5jm|Boc6dw"> <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="xc8+d1XIetOqO0#1IWFK"> <field name="VAR" id="DkSf^#3^q_TCS/]@U1f|">color</field> </block> </value> <value name="AT"> <block type="math_number" id="#2y`xCANn8V-hLH[5b*p"> <field name="NUM">2</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="8%L08aYlqhack6-0uzg="> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> <block type="variables_set" id="qFS2e]_GWaviVI*`|H8s" x="762" y="512"> <field name="VAR" id="xmlJs;}Sy%29W|+F.NyC">colors</field> <value name="VALUE"> <block type="lists_create_with" id="=SIs;){U:ghJ8YewEFpZ"> <mutation items="7"></mutation> <value name="ADD0"> <block type="math_number" id="6}O8rkTF:Hf9[/4qKF!+"> <field name="NUM">2700</field> </block> </value> <value name="ADD1"> <block type="math_number" id="ieZq0A1KZ,9yvOFQD;wE"> <field name="NUM">3000</field> </block> </value> <value name="ADD2"> <block type="math_number" id="4CGsih6V^m?4pn+MlHhV"> <field name="NUM">3400</field> </block> </value> <value name="ADD4"> <block type="lists_create_with" id="krR,bF^+9-G1|839tckw" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="math_number" id="c.$p*jW^C5,=ulXp*IEm"> <field name="NUM">35</field> </block> </value> <value name="ADD1"> <block type="math_number" id="*NJwV9~gw*0-*6t2q!TQ"> <field name="NUM">214</field> </block> </value> </block> </value> <value name="ADD5"> <block type="lists_create_with" id="OY{[N3oMc`m{E,f]~!In" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="math_number" id=")P9(a`_osVe_Eib,s76a"> <field name="NUM">35</field> </block> </value> <value name="ADD1"> <block type="math_number" id="a_JgcVfP_2a}:KX10#JL"> <field name="NUM">140</field> </block> </value> </block> </value> </block> </value> </block> </xml>
  • Blockly für persistenten Shelly Zähler

    7
    1
    0 Stimmen
    7 Beiträge
    544 Aufrufe
    B
    Ich danke euch vielmals für eure Eingaben! Damit habe ich alle Herausforderungen lösen können. :-)
  • Awtrix Light - Benachrichtigung bist DP geändert

    11
    1
    0 Stimmen
    11 Beiträge
    678 Aufrufe
    U
    @haus-automatisierung Ja meeeega, vielen vielen Dank, Perfekt, jetzt macht das Gerät genau was ich will, erheblicher Mehrwert :kissing_smiling_eyes:
  • Telegram - Nachrichten aus Gruppen empfangen

    2
    2
    0 Stimmen
    2 Beiträge
    204 Aufrufe
    BananaJoeB
    ok, ich kann mir die Frage selbst beantworten: https://core.telegram.org/bots/faq#what-messages-will-my-bot-get [image: 1706093552148-61b7c798-6306-4642-94f0-c966cff7b231-image.png] Hier hat einer eine Lösung gefunden die Nachrichten doch zu lesen: https://stackoverflow.com/questions/53016170/telegram-bot-receiving-commands-from-other-bot mal schauen ...
  • Script für einen SpeedTest über speedtest.net

    Verschoben javascript
    177
    0 Stimmen
    177 Beiträge
    43k Aufrufe
    Thomas BraunT
    @daniel-schmitz87 sagte in Script für einen SpeedTest über speedtest.net: ich habe wie angegeben den Befehlt: sudo npm install --global speed-test ausgeführt. Macht man nicht so. Vor allen Dingen NICHT per sudo. Und Konsolentext NICHT als Bildchen hier rein sondern als Text in Codetags eingebettet. Mach es am besten über das Skript von @SKB : https://forum.iobroker.net/topic/48700/speedtest-skript-von-kreyenborg-koeln-für-kabel-gigabit
  • Rolladensteuerung über Zeitraum und Helligkeit

    9
    2
    0 Stimmen
    9 Beiträge
    507 Aufrufe
    CluniC
    @triplex Ich habe vor ein paar Monaten ein riesiges Blockly programmiert, welches eine Steuerung meiner Rollladen unter diversen Blickpunkten ermöglicht. Grundsätzlich wird nach Astrozeiten gefahren. Man kann aber eine frühste bzw späteste Zeit für Öffnen und Schließen und zusätzlich Offsets zur Astrozeit vorgeben. Fürs Wochenende/Feiertage kann man nochmals separat eine eigene frühste Öffnungszeit setzen. Dann kann man noch jedem Rollladen eine eine Zufallszeit in Sekunden und einen Offset geben, so dass man bestimmen kann, dass bestimmte Rollläden definiert zum Schluss gefahren werden (z.B. Terrassentür). Alle anderen fahren durch die Zufallszahlen jeden Tag in anderer Reihenfolge. Des weiteren kann man einstellen, ob Rollläden z.B. nur bei Anwesenheit oder Abwesenheit gefahren werden sollen. Fenstersensoren werden auch unterstützt. Damit können Rollläden z.B. bei offener Tür gesperrt werden. Oder man kann einstellen, dass ein Rollladen beim Öffnen eines Fensters automatisch zum Lüften geöffnet und beim Schließen wieder geschlossen wird. Man kann auch noch eine Mindesttemperatur fürs Öffnen vorgeben, damit nicht der Panzer bei festgefrorenem Rollladen zerrissen werden kann. Es fehlt noch die Steuerung der Abschattung im Sommer. Alle Einstellungen sind dafür schon vorhanden, aber das muss ich irgendwann noch im Angriff nehmen vor dem Sommer. Die Skripte kann ich dir gerne zukommen lassen. Aber sie sind SEHR umfangreich und wahrscheinlich für Außenstehende trotz Kommentare schwer verständlich. Es gibt außerdem ein Skript, welches sich um das Anlegen der Rollläden im Userbereich kümmert. Das müsste natürlich auf deine Rollläden speziell angepasst werden. Da ich momentan nicht viel Zeit habe, kann ich dir da leider auch keine Unterstützung zu geben - das heißt du müsstest dich im Großen und Ganzen ganz alleine da durch kämpfen. Hier mal nur ein Teilausschnitt meines Blocklys: [image: 1705918513976-252bf30b-043b-4cd8-bca4-fffc3c204016-image.png] Allgemeine Einstellungen: [image: 1705918770315-b162dffb-1519-4db1-94e8-0e5448d1eac7-image.png] Einstellungen für jeden Rollladen: [image: 1705918818771-63a098e7-6904-460c-a79d-aa9bf5ab1d4a-image.png]
  • simple-ssh mehrere Befehle senden

    19
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    Marc_el_KM
    @oliverio sagte in simple-ssh mehrere Befehle senden: evtl andere reihenfolge? Ich habe das Problem, dass wenn ich zuerst den iobroker stoppe, dass dann keine Befehle mehr ankommen. Mir stellt sich nur noch die Frage, ob man eine Abfrage machen kann, dass der iobroker auch vollständig beendet wurde?
  • binde object funktioniert nicht

    5
    2
    0 Stimmen
    5 Beiträge
    402 Aufrufe
    M
    @codierknecht Danke das war mir so nicht klar - mit der Erklärung ist es logisch... Vielen Dank!
  • aus JSON(?) Temperaturen als Datenpunkt generieren

    5
    0 Stimmen
    5 Beiträge
    429 Aufrufe
    CodierknechtC
    @haus-automatisierung sagte in aus JSON(?) Temperaturen als Datenpunkt generieren: Du brauchst keinen zusätzlichen Adapter hierfür. Einfach das Objekt manuell anlegen und pflegen im Objekt-Tab. Also zumindest bei mir hat der Alias-Adapter nie das gemacht was ich wollte oder was ich erwartet hätte. Darum ist er gleich wieder rausgeflogen.
  • Zeitsteuerung alle 1,5 Std. Probleme

    3
    1
    0 Stimmen
    3 Beiträge
    180 Aufrufe
    paul53P
    @mico sagte: alle 1,5 Stunden Vorschlag: [image: 1705489383195-blockly_temp.jpg]
  • erkennen ob script, Adapter oder System neu gestartet wurde

    26
    0 Stimmen
    26 Beiträge
    2k Aufrufe
    jmeister79J
    Ich habs jetzt nur so überflogen: Ich schließe mich hier @paul53 an. Der Javascriptadapter startet erst wenn das System seine Umgebungsvariablen eingelesen hat. Alles andere wäre fatal. (EVA Prinzip) Ich sehe hier also nicht wirklich ein Problem. Meine ganzen Scripte sind so, dass sie alleine laufen können. Hast Du Abhängigkeiten der Scripte untereinander ist JS für dich die falsche Plattform, dann musst du entweder mit einer SPS arbeiten oder deine Scripte so umbauen, dass sie untereinander Kommunizieren mit Schnittstellen, das ist aber ein riesiger umbau und m.E. völlig unnötig, da die DP hier die Schnittstelle sind. Vorsicht: DP schreiben asynchron. Du musst also mit Triggern arbeiten wenn Du eine vernünftige Kommunikation haben willst. JS ist nicht Echtzeit.
  • Gleitender Durchschnitt, Min., Max. über def. Zeitraum

    Verschoben javascript
    113
    0 Stimmen
    113 Beiträge
    26k Aufrufe
    C
    @paul53 wie wo muss ich das erfassen... idee wäre zusätzlich
  • gelöst: Zugriff auf Datenpunkt / Objektattribute unklar

    3
    3
    0 Stimmen
    3 Beiträge
    229 Aufrufe
    B
    @paul53 Das wars...dankeschön.
  • Http Befehl Akuvox S539 Fehler

    8
    0 Stimmen
    8 Beiträge
    605 Aufrufe
    H
    @ralla66 Habe jetzt gerade mal getestet über Https, es geht beides. Einstellen oder Auswählen kann ich es jedoch nicht.

292

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge