Weiter zum Inhalt

Skripten / Logik

16.6k Themen 214.5k 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
    D
    Ich logge gerade die Variable pass mit. Irgendwie schaltet die so ziemlich oft am Tag. In der früh ist das ja noch ok. Aber ab ca. 10 Uhr hat der Akku eigentlich genug SOC das der Speicher nicht in den Bypass schalten muss. Ich bin mir auch nicht sicher ob der Wirklich schaltet oder das nur ein Anzeigefehler ist. Hat jemand ein ähnliches Verhalten. Ich habe einen 800Pro 0 = Bypass aus 2 = Bypass ein Die Zahl dazwischen ist nur eine addierte Zahl, das ich sehe wie oft er geschalten hat [image: 1777318055753-cf4f54c0-7176-482a-95e6-5e320dcb4e06-image.jpeg]
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    HomoranH
    @Berlon sagte: wieso gibt es bei true und false kleiner und größer? Zusätzlich zu der Info von @paul53 Binär ist false=0 und true=1. EDIT: @asgothian war schneller und genauer
  • Hilfe für Skripterstellung mit Node-RED

    956 13k
    956 Themen
    13k Beiträge
    S
    Hallo Zusammen, ich bin gerade am überlegen, wie ich folgende Aufgabe umsetzen könnte: Ein true an einer (Trigger)Node lässt einen Zähler laufen und setzt einen eigenen Ausgang auf true. Ein false der Trigger Node stoppt den Zähler setzt diesen aber nicht auf false. Ein true lässt den Zähler einfach weiterlaufen... Nach Ablauf der Zeit im Zähler wird der Ausgang des Zählers auf false gesetzt. Mehr soll nicht passieren. Ein separater Eingang am Zähler setzt diesen auf 0 zurück. Was ich damit anfangen möchte: Die Laufzeit der Poolpumpe wird auf eine Mindestlaufzeit von bspw. 4h überwacht -kann aber manuell bedient bei Bedarf länger laufen. Ein Trigger um 00:01Uhr setzt die Laufzeit zurück. Die Zählernode gilt hier als "Anforderung Pumpe wegen Mindestlaufzeit unterschritten". Ich habe noch keine brauchbaren Ideen, wie ich dass sauber und mit wenig Aufwand umsetzen könnte... Vielen Dank und VG Torsten
  • [gelöst] Start script per Jarvis button

    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    B
    Ok, danke. Also per Objekte >> 0_userdata.0 >> "+ Button" einen neuen Datenpunkt als Logikwert erzeugen. Darauf kann das Script eine Subscription/Listener per on() function anlegen. In Jarvis braucht fügt man dann ein Gerät als "Sonstiges" hinzu und kann dieses dann wiederum in die Oberfläche einfügen. So wie hier beschrieben: iobroker-jarvis-teil-24-button-fuer-garagentor-oeffner Vielleicht hilft es ja dem nächste Anfänger der sucht.
  • Zweifache, statt einfache Meldung nach Ausführung

    8
    1
    0 Stimmen
    8 Beiträge
    321 Aufrufe
    I
    @xenon Hmm, klingt interessant! Muß ich mir mal anschauen, danke!
  • Bindingsabhängige Farbbereiche

    13
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    ub.privatU
    @omnedon Na das schau ich mir ebenefalls an! Dafür habe ich auch schon eine Anwendung! Besten Dank. Das Script wird direkt dem Widget zugeordnet, wo das "Farbspiel" zur Anwendung kommt?
  • Scenen werden ausgelöst beim Speichern

    1
    0 Stimmen
    1 Beiträge
    165 Aufrufe
    Niemand hat geantwortet
  • [gelöst] Telegram ChatID+MsgID von Bot-Empfängern speichern

    7
    2
    0 Stimmen
    7 Beiträge
    912 Aufrufe
    FoodFighterF
    @mcu Jawoll....manchmal sieht man den Wald wirklich nicht mehr :man-facepalming: Mir kam die gleiche Idee auch gerade. So funktioniert alles: [image: 1615829636948-screenshot-2021-03-15-18.31.08.png] <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="l/Hhs}-OqimAs![DYo.E">callbackquerytext</variable> <variable id="@Ge$`9Uzwc7wh3bOp,|s">ChatID_Markus</variable> <variable id="UjOxi^;`~CUn-}-P3@b,">ChatID_Johanna</variable> <variable type="timeout" id="timeout">timeout</variable> <variable type="timeout" id="timeout2">timeout2</variable> <variable id="tSZlb72TXQF59Ip}bblm">last_sender_name</variable> <variable id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</variable> </variables> <block type="procedures_defcustomnoreturn" id="`qTJ-;y={AJ[sVdW~f1/" x="288" y="-738"> <mutation statements="false"> <arg name="callbackquerytext" varid="l/Hhs}-OqimAs![DYo.E"></arg> </mutation> <field name="NAME">answercallbackquerymittext</field> <field name="SCRIPT">c2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIC8vY2hhdElkIGZ1bmt0aW9uaWVydCBuaWNodCAtIHN0YW5kIDAzLzIwMjENCiAgICAvL2NoYXRJZDogZ2V0U3RhdGUoInRlbGVncmFtLjEuY29tbXVuaWNhdGUucmVxdWVzdENoYXRJZCIpLnZhbCwNCiAgICB1c2VyOiBsYXN0X3NlbmRlcl9uYW1lLA0KICAgIGFuc3dlckNhbGxiYWNrUXVlcnk6IHsNCiAgICAgICAgdGV4dDogY2FsbGJhY2txdWVyeXRleHQsDQogICAgICAgIHNob3dBbGVydDogdHJ1ZSAvLyBPcHRpb25hbCBwYXJhbWV0ZXINCiAgICB9DQp9KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="comment" id="l.5HJmvKSgDhA/k(8Nd#" x="913" y="-763"> <field name="COMMENT">Sende Nachricht bei Script-Start</field> <next> <block type="variables_set" id="@t{pxlyH:czXCd;~Z`Ma"> <field name="VAR" id="@Ge$`9Uzwc7wh3bOp,|s">ChatID_Markus</field> <value name="VALUE"> <block type="math_number" id="v|y]y2EGL1KnMvxYcwB8"> <field name="NUM">***4560</field> </block> </value> <next> <block type="variables_set" id="iN3z`25~U}EWqDOTM-}6"> <field name="VAR" id="UjOxi^;`~CUn-}-P3@b,">ChatID_Johanna</field> <value name="VALUE"> <block type="math_number" id="_,;VGj8otq$H!F2-P|~F"> <field name="NUM">***5521</field> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="8~%wcY?B-a.zVb4v[S!%"> <mutation name="Telegram_Abfrage_Markus_Wäsche_aufgehängt"></mutation> <next> <block type="timeouts_settimeout" id="o2AbY~WZhS3ZyRMoUL_6"> <field name="NAME">timeout</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="%B8Tr6lvVk|Y:v4)}iix"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgIDToMarkus</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="+s?KL2_-miQG9S$/}~`d"> <field name="ATTR">val</field> <field name="OID">telegram.0.communicate.botSendMessageId</field> </block> </value> <next> <block type="procedures_callcustomnoreturn" id="{yX1vaY/(n;ylP$w*H-p"> <mutation name="Telegram_Abfrage_Johanna_Wäsche_aufgehängt"></mutation> <next> <block type="timeouts_settimeout" id="im$4/bNRAHOBfbF|*9EB"> <field name="NAME">timeout2</field> <field name="DELAY">500</field> <field name="UNIT">ms</field> <statement name="STATEMENT"> <block type="control" id="3yPljD9h5,J/7jDzhwFq"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Waschmaschine.WäscheAufgehängtLastBotSendMsgIDToJohanna</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="get_value" id="X18Sgs0-%F[dbOh@mxyt"> <field name="ATTR">val</field> <field name="OID">telegram.0.communicate.botSendMessageId</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> <next> <block type="comment" id="|]aZ}%yY]V}BYG3N1v~p"> <field name="COMMENT">Abarbeitung der Telegram-Requests</field> <next> <block type="on_ext" id="(v7Rvt%da+1+}1OIu5U;"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="blC:9%UTQ2jY@Z#lx{@~"> <field name="oid">telegram.0.communicate.request</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="%Q7KMMnYYJxR(xO1cFuZ"> <field name="COMMENT">Variablen verarbeiten</field> <next> <block type="variables_set" id="@05QF)c1s~CvvQSRNtAI" collapsed="true"> <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field> <value name="VALUE"> <block type="text_getSubstring" id="JP^UEo5`~=)JxXGC+#w)" inline="false"> <mutation at1="true" at2="true"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">FROM_START</field> <value name="STRING"> <block type="on_source" id="byETLC8e~w]`;mXmqna!"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_number" id="}?Msw=(W[QvfHPSPXW!["> <field name="NUM">2</field> </block> </value> <value name="AT2"> <block type="math_arithmetic" id="2Z8KU~r:/AnJS]Yes,td" inline="false"> <field name="OP">MINUS</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="wCMjeY!P]5e%(C1sV:Ep"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="WI2G7cig)r*D_0V|`E_b"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">abc</field> </shadow> <block type="text" id="2CQjCKzN5$pjdtvq]T7^"> <field name="TEXT">]</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id="Re)p[9LE1hB?vJTO]YEU"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="_B6dl|IVt|VYXH(Mm=Zg" inline="true" collapsed="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="EpwR$`2%0-`V4;m~{zPe" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="JMg%*Mp!M]5k|_;e=?U$"> <field name="TEXT">***last_sender_name: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="l2%%t/#%DGqz(,1dJRF5"> <field name="VAR" id="tSZlb72TXQF59Ip}bblm">last_sender_name</field> </block> </value> </block> </value> <next> <block type="variables_set" id="gVCtKgem;;f?9/.3!!7(" collapsed="true"> <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field> <value name="VALUE"> <block type="text_getSubstring" id="i5eWSB[+aMfC#$e8Poh;" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="on_source" id="x.S63u%:c%zb?9VXZK7l"> <field name="ATTR">state.val</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="AJ~SAHp@;WP!9x2Ec)bp" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="d},vOvJ?$skVE@SaxrEp" inline="false"> <field name="END">FIRST</field> <value name="VALUE"> <block type="on_source" id="G1:,tnL1Me^FpPM,DRj{"> <field name="ATTR">state.val</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text"> <field name="TEXT">abc</field> </shadow> <block type="text" id="ok)Zh69Ds4XsXpm:7!{!"> <field name="TEXT">]</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number"> <field name="NUM">1</field> </shadow> <block type="math_number" id="UOLiY%(e5NVj3-CkuqFY"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <next> <block type="debug" id="GJOcG8p0H9LEzoMU{A07" inline="true" collapsed="true"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text"> <field name="TEXT">test</field> </shadow> <block type="text_join" id="x3v??K^S*u{.EXX|Ea9r" inline="true"> <mutation items="2"></mutation> <value name="ADD0"> <block type="text" id="6%E~Mfe`m)UvGXwj2CQ{"> <field name="TEXT">***last_received_request: </field> </block> </value> <value name="ADD1"> <block type="variables_get" id="AmX#Ajim8sF`e/wKxgYF"> <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field> </block> </value> </block> </value> <next> <block type="comment" id=";;/H{UC!K`AccYBLrbaV"> <field name="COMMENT">### Verarbeitung ###</field> <next> <block type="controls_if" id="`W9kjvMAvYe2l1lH4;}7"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="/e$G{#tEL7c42?zJMfC)"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="K;___=jmMpr.Z|F7svO|"> <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field> </block> </value> <value name="B"> <block type="text" id="UEIRsAWNKBn~d^a3wi=|"> <field name="TEXT">Wäsche_Wurde_AufgehängtJa</field> </block> </value> </block> </value> <statement name="DO0"> <block type="procedures_callcustomnoreturn" id="V0fEr,CAW0xVJ7-%9UbQ"> <mutation name="Telegram_Antwort_Wäsche_aufgehängt"></mutation> <next> <block type="procedures_callcustomnoreturn" id="iA;,Ns.DTMU*_GPnh]N+"> <mutation name="answercallbackquerymittext"> <arg name="callbackquerytext"></arg> </mutation> <value name="ARG0"> <block type="text" id="d983t4(7APF?R}0Qah4b"> <field name="TEXT">Sehr schön! 😊</field> </block> </value> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="y#x@)wrX,@?KxjQ7b.-N"> <field name="OP">EQ</field> <value name="A"> <block type="variables_get" id="{g;.+Nn=2wZyLb#vZn_p"> <field name="VAR" id="/z$M|cJ8NyfG~@5RN0hr">last_received_request</field> </block> </value> <value name="B"> <block type="text" id="IUO~}-[q/yo^R0HDz(|,"> <field name="TEXT">Wäsche_Wurde_AufgehängtNein</field> </block> </value> </block> </value> <statement name="DO1"> <block type="procedures_callcustomnoreturn" id="=+Vc/kRL{O*qs/Bd_f@z"> <mutation name="answercallbackquerymittext"> <arg name="callbackquerytext"></arg> </mutation> <value name="ARG0"> <block type="text" id="`C2fGg|`dMvK)G98%`WC"> <field name="TEXT">Tjoar..dann eben nicht 🤷</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> <block type="procedures_defcustomnoreturn" id="m()l~;8~p9[=w2(I|U|k" x="288" y="-687"> <mutation statements="false"></mutation> <field name="NAME">Telegram_Abfrage_Markus_Wäsche_aufgehängt</field> <field name="SCRIPT">Ly8gU2VuZGV0IGVpbiBCdXR0b24tTWVuw7wgw7xiZXIgZGVuIFRlbGVncmFtLUJvdA0KY29uc29sZS5sb2coJyoqKlRlbGVncmFtOiBXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8nKTsNCnNlbmRUbygndGVsZWdyYW0uMCcsIHsNCiAgICBjaGF0SWQ6IENoYXRJRF9NYXJrdXMsDQogICAgdGV4dDogIld1cmRlIGRpZSBXw6RzY2hlIGF1ZmdlaMOkbmd0PyIsDQogICAgcmVwbHlfbWFya3VwOiB7DQogICAgICAgIGlubGluZV9rZXlib2FyZDogWw0KICAgICAgICAgICAgW3sgdGV4dDogJ0phJywgY2FsbGJhY2tfZGF0YTogJ1fDpHNjaGVfV3VyZGVfQXVmZ2Vow6RuZ3RKYScgfSx7IHRleHQ6ICdOZWluJywgY2FsbGJhY2tfZGF0YTogJ1fDpHNjaGVfV3VyZGVfQXVmZ2Vow6RuZ3ROZWluJyB9XSwNCiAgICAgICAgXQ0KICAgIH0NCn0pOw==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="D)k`HZIn/HRvQ/*G(4_~" x="288" y="-663"> <mutation statements="false"></mutation> <field name="NAME">Telegram_Abfrage_Johanna_Wäsche_aufgehängt</field> <field name="SCRIPT">Ly8gU2VuZGV0IGVpbiBCdXR0b24tTWVuw7wgw7xiZXIgZGVuIFRlbGVncmFtLUJvdA0KY29uc29sZS5sb2coJyoqKlRlbGVncmFtOiBXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8nKTsNCnNlbmRUbygndGVsZWdyYW0uMCcsIHsNCiAgICBjaGF0SWQ6IENoYXRJRF9Kb2hhbm5hLA0KICAgIHRleHQ6ICJXdXJkZSBkaWUgV8Okc2NoZSBhdWZnZWjDpG5ndD8iLA0KICAgIHJlcGx5X21hcmt1cDogew0KICAgICAgICBpbmxpbmVfa2V5Ym9hcmQ6IFsNCiAgICAgICAgICAgIFt7IHRleHQ6ICdKYScsIGNhbGxiYWNrX2RhdGE6ICdXw6RzY2hlX1d1cmRlX0F1ZmdlaMOkbmd0SmEnIH0seyB0ZXh0OiAnTmVpbicsIGNhbGxiYWNrX2RhdGE6ICdXw6RzY2hlX1d1cmRlX0F1ZmdlaMOkbmd0TmVpbicgfV0sDQogICAgICAgIF0NCiAgICB9DQp9KTs=</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> <block type="procedures_defcustomnoreturn" id="Qt[{0Ir(rV]7ah:NrW=S" x="288" y="-613"> <mutation statements="false"></mutation> <field name="NAME">Telegram_Antwort_Wäsche_aufgehängt</field> <field name="SCRIPT">Ly8gTMO2c2NoZSBkaWUgQnV0dG9ucyBiZWkgYWxsZW4gVXNlcm4NCmNvbnNvbGUubG9nKCcqKipUZWxlZ3JhbTogRGllIFfDpHNjaGUgd3VyZGUgYXVmZ2Vow6RuZ3QhJyk7DQoNCi8vIFp1ZXJzdCBiZWkgTWFya3VzDQpzZW5kVG8oJ3RlbGVncmFtLjAnLCB7DQogICAgdGV4dDogJ0RpZSBXw6RzY2hlIHd1cmRlIGF1ZmdlaMOkbmd0IScsDQogICAgZWRpdE1lc3NhZ2VUZXh0OiB7DQogICAgICAgIG9wdGlvbnM6IHsNCiAgICAgICAgICAgIGNoYXRfaWQ6IENoYXRJRF9NYXJrdXMsDQogICAgICAgICAgICBtZXNzYWdlX2lkOiBnZXRTdGF0ZSgiMF91c2VyZGF0YS4wLldhc2NobWFzY2hpbmUuV8Okc2NoZUF1ZmdlaMOkbmd0TGFzdEJvdFNlbmRNc2dJRFRvTWFya3VzIikudmFsDQogICAgICAgIH0NCiAgICB9DQp9KTsNCg0KLy8gRGFubiBiZWkgSm9oYW5uYQ0Kc2VuZFRvKCd0ZWxlZ3JhbS4wJywgew0KICAgIHRleHQ6ICdEaWUgV8Okc2NoZSB3dXJkZSBhdWZnZWjDpG5ndCEnLA0KICAgIGVkaXRNZXNzYWdlVGV4dDogew0KICAgICAgICBvcHRpb25zOiB7DQogICAgICAgICAgICBjaGF0X2lkOiBDaGF0SURfSm9oYW5uYSwNCiAgICAgICAgICAgIG1lc3NhZ2VfaWQ6IGdldFN0YXRlKCIwX3VzZXJkYXRhLjAuV2FzY2htYXNjaGluZS5Xw6RzY2hlQXVmZ2Vow6RuZ3RMYXN0Qm90U2VuZE1zZ0lEVG9Kb2hhbm5hIikudmFsDQogICAgICAgIH0NCiAgICB9DQp9KTsNCg==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml> Nicht sonderlich "schön" gelöst, aber funktioniert. Vielen Dank für eure Hilfe!
  • Überwachung von Datenpunkten

    3
    0 Stimmen
    3 Beiträge
    424 Aufrufe
    UncleSamU
    @stefanh-0 sagte in Überwachung von Datenpunkten: "'newState' is deprecated(6385)" "Obsolete" heisst nicht, dass es nicht mehr geht, sondern dass es in einer zukünftigen Version nicht mehr gehen wird. Ich nehme an, korrekt wäre einfach .state zu verwenden anstatt .newState. Aber vielleicht kann uns @AlCalzone da erleuchten? (P.S.: wo finde ich die Type Definitions?) Hier die Definition: https://github.com/ioBroker/ioBroker.javascript/blob/b5c38bd3cb4fe9938471dd16cef93f2c38f1be81/lib/javascript.d.ts#L230-L231 und da steht tatsächlich /** @deprecated Use state instead **/
  • [offen] root Rechte für exec()

    Verschoben javascript
    55
    0 Stimmen
    55 Beiträge
    12k Aufrufe
    AlCalzoneA
    @aleks-83 Das Detail, dass du iobroker-Befehle ausführen willst, hattest du bisher verschwiegen. ioBroker hat unter Windows eine eigene Kommandozeile mit eigenem Environment. Bei mir lautet der Startbefehl für die Kommandozeile so: C:\WINDOWS\system32\cmd.exe /K "C:\Program Files\iobroker\Dev\nodejs\nodevars.bat" Um darin was auszuführen, müsste der wie folgt abgewandelt werden (Pfad anpassen!): C:\WINDOWS\system32\cmd.exe /K "C:\Program Files\iobroker\Dev\nodejs\nodevars.bat && iobroker restart sonos.0" Vermutlich ist es einfacher, wenn du stattdessen das Objekt system.adapter.sonos.0 liest und direkt wieder schreibst, damit wir der Adapter auch neu gestartet. Edit, siehe dein anderer Thread: Setze system.adapter.sonos.0.alive auf false und dann wieder auf true. Dann startet der Adapter auch neu.
  • [Vorlage] HCL-Script (human centric lighting)

    javascript template
    6
    1
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    V
    @pittini Moin, sorry für die späte Rückmeldung. Ich war leider aus gesundheitlichen Gründen etwas abgelenkt. Das dieses Script auf feste Uhrzeiten reagiert ist genau so gewollt. Ich möchte mit dem HCL gerade im Winter der Müdigkeit vorbeugen und länger "Tageslicht" haben. Das Einzige was mich an meinem Script aktuell noch "stört" ist das ich nicht auf einen Restart vom gesamten System oder dem Scriptadapter reagieren kann. Soll heißen, sollte ich mich aktuell in der Zeit befinden in der die Farbtemp und/oder die Helligkeit langsam geändert wird und das System startet neu oder der Script adapter, dann verbleibt der gerade aktuelle Wert bis zum nächsten Schedule. Das Passierte bei uns jetzt nicht so häufig aber wenn man es doch mal hat, dann ist es etwas doof, denn man gewöhnt sich doch schon sehr an die HCLSteuerung. Gerade meine Frau findet die extrem super. Aber auch erst seit dem Sie mal gesehen hat wie es ohne ist. Um das zu umgehen müsste man irgendwie anhand der Zeiten und des Interval errechnen zu welcher Uhrzeit er bei welchen Schritt sein müsste. So könnte man nach einem Neustart den Interval "wieder aufnehmen" Aber der Störfaktor war bei uns noch nicht so groß das ich mir da die Mühe machen wollte. :P
  • Timeouts: kein Stop mehr möglich (gelöst)

    4
    2
    0 Stimmen
    4 Beiträge
    166 Aufrufe
    A
    @legro ok, dann hat sich das ja jetzt geklärt. Es wäre noch gut, den Thread durch Editieren der Überschrift Deines ersten Posts als [Gelöst] zu markieren.
  • [gelöst] Zusammenführen von enum.functions

    javascript
    7
    0 Stimmen
    7 Beiträge
    642 Aufrufe
    paul53P
    @mark77 sagte: damit man nicht vergisst, die letzte Zeile zu ändern Etwas allgemeiner gehalten: const idSrc = 'enum.functions.light'; const idDst = 'enum.functions.Licht'; const membersSrc = getObject(idSrc).common.members; const objDst = getObject(idDst); for(let i = 0; i < membersSrc.length; i++) { objDst.common.members.push(membersSrc[i]); } setObject(idDst, objDst);
  • [gelöst] Zustand von ProConEasy auslesen

    11
    1
    0 Stimmen
    11 Beiträge
    642 Aufrufe
    T
    @paul53 sagte in Zustand von ProConEasy auslesen: http:// Das wars! danke. Wann brauche ich das im Heimnetz? Im Chrome Browser wurde nicht angezeigt das er es ergänzt. Gruss Tobi
  • Javascript - compile failed

    5
    0 Stimmen
    5 Beiträge
    517 Aufrufe
    L
    @paul53 ja - und das scheint es zu sein - deaktiviert und nun gibt es erst einmal keine Fehlermeldung mehr :-). Gerade getestet - Scripte arbeiten wieder - vielen Dank :-)
  • [gelöst > thx] Parser -> Bitte, Starthilfe benötigt!

    communication javascript
    80
    0 Stimmen
    80 Beiträge
    6k Aufrufe
    metaxaM
    @liv-in-sky wie nicht anders zu erwarten, saubere Arbeit, danke! [image: 1615629958201-169ce7a8-733a-484c-b3d2-61c2df097f92-grafik.png] LG und schönes WE! mxa
  • (Blockly)-Trigger wird mehrmals ausgeführt

    4
    0 Stimmen
    4 Beiträge
    489 Aufrufe
    AsgothianA
    @james4711 Bei Javascript gilt: True > False Mit dem Trigger auf Grösser als wird der Trigger nur aktiv wenn der State von Falsch auf Wahr wechselt. A.
  • ioBroker/create-adapter, Socket.io und writeFile

    javascript
    11
    0 Stimmen
    11 Beiträge
    997 Aufrufe
    UncleSamU
    @snador sagte in ioBroker/create-adapter, Socket.io und writeFile: @unclesam Stimmt das wäre ein Möglichkeit. So ne Config Datei erreicht aber schnell auch Mal 700Kbyte. Bin mir nicht sicher, dass das als String noch funktioniert. Musst du versuchen, sollte aber gehen. Und was ist mit der Persistenz? Bleibt der Datenpunkt dauerhaft erhalten? Ist er nach Neustart des ioB noch da, also.mit dem Inhalt? Zum Gottes Willen: ja. Sonst würde ioBroker seine Arbeit nicht machen. Das ist eines der wichtigsten Merkmale, dass er Daten nicht nur verschickt sondern auch speichert.
  • Pioneer SC-LX 76 nach stromlos nicht aktualisiert

    1
    1
    0 Stimmen
    1 Beiträge
    98 Aufrufe
    Niemand hat geantwortet
  • CONTROME JSON Script zum auslesen von sensoren und Zuständen

    Verschoben
    38
    0 Stimmen
    38 Beiträge
    4k Aufrufe
    J
    Hallo zusammen, war auch auf der Suche nach einer Lösung und hab hier ein Adapter gefunden den ich jetzt mal testen werde. Erster Eindruck sieht schon mal sehr gut aus ioBroker.controme Adapter Gruß Jonas
  • Schedule jede Stunde

    javascript
    9
    0 Stimmen
    9 Beiträge
    286 Aufrufe
    M
    @paul53 Jap, das war es. Das Script läuft wie es soll. Danke
  • TR-064-Adapter - Telegram

    6
    0 Stimmen
    6 Beiträge
    307 Aufrufe
    I
    @wendy2702 Okay, danke für die Info!
  • Javascript Error bei Verwendung über Cloud

    2
    4
    0 Stimmen
    2 Beiträge
    120 Aufrufe
    peterk34P
    GELÖST ... Update der scriptengine hat es gelöst

410

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge