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
    J
    Dankeschön für deine Bemühung , werde nächste Woche den Skript testen 👍
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    nik82N
    Hallo, leider funktioniert das bei mir immer noch nicht, also der zweite Post von mir ist falsch. Falls jemand noch eine Idee hat wie man das per Blockly lösen kann, bitte gerne Bescheid geben :-)
  • 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
  • Blockly - Funktionen global verfügbar machen

    5
    0 Stimmen
    5 Beiträge
    459 Aufrufe
    F
    @paul53Hi, das ist ein super Beispiel, vielen Dank. Ich hab damit schon erste Versuche unternommen. Ich bin allerdings nicht der Javaexperte und muss mich noch reinfuchsen. Ich werde noch herausfinden müssen wie man dann noch Werte an die Globale Funktion dann noch übergibt. Vielen Dank erst einmal.
  • [ Geklärt ]Wärmepumpe mittels Heishamon Topic ansteuern

    blockly
    2
    3
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    dogfight76D
    @altersrentner Hallo, hast du über Heishamon und ioBroker deine Visalisierung gemacht ?
  • [gelöst] Substring nicht möglich? Übersehe ich was?

    5
    0 Stimmen
    5 Beiträge
    187 Aufrufe
    Ben1983B
    @haus-automatisierung Danke das war es. Es hatte sich noch ein State mit rein "gemogelt", der von type Boolean war. Ich habe nämlich eine enum ausgelesen und die Id verändert.
  • [erledigt]alexa2.0.History knoten nicht mit Werten gefüllt

    4
    0 Stimmen
    4 Beiträge
    569 Aufrufe
    M
    @ronny-gerndt shit ich habs auch grad in https://forum.iobroker.net/topic/67966/zu-welchem-alexa-wird-gesprochen-script/2?_=1693879187648 gelesen das ist wieder eine super nervige Einschränkung. Das Amazonzeug nervt zusehends. was die eine Woche noch funktioniert, muss die nächste Woche nicht mehr laufen... Wecker verworfen und Routine starten das gleiche. Support führt Dich einen Monat an der Nase rum.. Danke Dir für die Hilfe.
  • Prüfen ob Wechselrichter verbunden

    27
    0 Stimmen
    27 Beiträge
    2k Aufrufe
    Stefan FaltS
    @schmakus Dankeschön ... ich bin schon so von Blockly durchdrungen dass man nicht mehr auf die einfachsten Lösungen kommt ... Danke.
  • [gelöst] Datenpunkt per HTTP-Endpunkt beschreiben

    11
    1
    0 Stimmen
    11 Beiträge
    403 Aufrufe
    mickymM
    @david-g das war keine EPG Tabelle sondern eine App
  • Stromverbrauch und Kosten erfassen bei dyn. Stromtarif

    8
    0 Stimmen
    8 Beiträge
    742 Aufrufe
    paul53P
    @libertyx82 sagte: ein Diagramm erstellen kann Man kann alle 3 historisierten Datenpunkte in einem Flot-Diagramm darstellen. Zum Historisieren kann auch der SQL-Adapter verwendet werden.
  • SMA Webbox RPC auslesen über JavaSkript

    1
    0 Stimmen
    1 Beiträge
    267 Aufrufe
    Niemand hat geantwortet
  • Meldungen steuern

    13
    2
    0 Stimmen
    13 Beiträge
    913 Aufrufe
    I
    @paul53 Achso, weil der "sonst falls >5"-Zweig VOR dem "sonst falls >0.5"-Zweig steht, verstehe ;)
  • Gelöst: Frage zu Script (welches nicht läuft)

    32
    1
    0 Stimmen
    32 Beiträge
    2k Aufrufe
    crepp1967C
    @paul53 Ahhh, ok jetzt sind alle Unklarheiten beseitigt. Nochmal Vielen Dank! Gruß Torsten Ich setze das Thema auf "gelöst"
  • [gelöst] LOGO! & Wochenschaltuhr

    Verschoben
    61
    0 Stimmen
    61 Beiträge
    12k Aufrufe
    A
    @vumer Hallo, was muss ich beim selbst erstellten Datenpunkt auswählen (Zustandstyp). Könnte mir vielleicht wer eine genaue Anleitung zukommen lassen (evtl. mit Bilder beschrieben) Von den Selbst erstellten Datenpunkten, Java Script usw. Ich verstehe da leider nichts davon und würde gerne meine Poolpumpe über ioBroker und Siemens Logo steuern. Das mit den Wochentagen habe ich alles verstanden und bereits erledigt. Es fehlt jedoch die Zeit. Vielen Dank schon im Voraus.
  • ESPHome json per mqtt senden

    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    S
    @jacke Ich vermute mal, du willst die Daten im Victron-System abbilden. Dann müssen die noch auch dem Venus-OS von MQTT auf dbus umgeschrieben werden. Hier habe ich zB. etwas dazu gefunden: https://github.com/Louisvdw/dbus-serialbattery/discussions/258#discussioncomment-5482398 Ansonsten, ja - auf dem Venus-OS läuft ein vollständiger MQTT-Broker. Noch ist es mosquitto, bald soll es FlashMQ werden.
  • Berechnung von mA auf Temperatur/Feuchte (linear)

    blockly
    4
    0 Stimmen
    4 Beiträge
    401 Aufrufe
    paul53P
    @gregors sagte: Wert = Objekt mA Das ist der Wert des Tigger-Datenpunktes, der Zahlen von 4 bis 20 enthält. @gregors sagte in Berechnung von mA auf Temperatur/Feuchte (linear): Wieso subtrahierst du einmal 45 und einmal 25? Temperatur: 4 (mA) = -20 Luftfeuchte: 4 (mA) = 0 @gregors sagte in Berechnung von mA auf Temperatur/Feuchte (linear): Wie funktioniert das mit der Lesekonvertierung im Alias? [image: 1693325669570-alias_read.jpg]
  • [gelöst] Zugriff auf interne Blockly Variablen

    7
    1
    0 Stimmen
    7 Beiträge
    325 Aufrufe
    MartinPM
    Hat gut funktioniert ... Der Thermostat hat einen Datenpunkt "Solltemperatur" der zu bestimmten Zeiten auf Nacht- bzw Tagtemperatur gesetzt werden soll... Mehrschrittiges Vorgehen Usersdata-Datenpunkt bool "Nachtabsenkung" (Nachtabsenkung immer zu gleicher Zeit beginnen, Sa/So erfolgt die Taganhebung etwas später. als Werktags) [image: 1693211478744-1326f5f9-3772-42e7-891d-8dee9c88b5ac-grafik.png] Hier ein Trick mit "wurde aktualisiert" statt "wurde geändert", um die Solltemperatur zu setzen: [image: 1693211567604-f4acd711-ceba-415c-a4f9-edf7eeb77909-grafik.png] Hier wird über die Aktualisierung des Datenpunktes "Raumtemperatur" per 30 Sekunden-Timeout überwacht, ob der ESP8266 des Raumthermostaten noch arbeitet. [image: 1693211969669-2f7ff832-a632-479b-be85-cedd4a929fc2-grafik.png] Durch die Aktualiserung des "Nachtabsenkung" Datenpunktes (ohne den Wert zu ändern) wird das Setzen des Solltemperatur-Datenpunktes ausgelöst. Ansonsten würde der Thermostat mit der festverdrahteten Temperatur arbeiten, die die Thermostat-Software bei Neustart einstellt, bis das nächste mal ein Tag <-> Nacht Wechsel passiert ...
  • [gelöst]-Scripts laufen nicht mehr ..... ??

    10
    0 Stimmen
    10 Beiträge
    979 Aufrufe
    S
    @dp20eic Danke für den Hinweis .....
  • Lamellensteuerung mit shuttercontrol

    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    W
    @rtwl auf diesen Tag habe ich genau 1 Jahr gewartet Danke für deine Antwort
  • Geräte Manager Funktion - Rolladen (NSPanel)

    7
    0 Stimmen
    7 Beiträge
    725 Aufrufe
    K
    @madjack84 Hey, schön dass Du unser Projekt gefunden hast. In unserer Wiki (siehe meine Fußnote) findest Du in der FAQ sogar eine Anleitung für die Shelly Rollladen-Steuerung :-) Wenn Du weitere Fragen hast, komm doch einfach mal im Projekt Thread vorbei. LG Kuckuck
  • sendTo getHistory mit aggregate: "count" funktioniert nicht

    1
    0 Stimmen
    1 Beiträge
    207 Aufrufe
    Niemand hat geantwortet
  • Tabelle aus vorhandenen Datenpunkten erstellen und sortieren

    5
    1
    0 Stimmen
    5 Beiträge
    554 Aufrufe
    J
    @arteck Wie gesagt, bei mir sieht es so aus: [image: 1692799376494-dbfc04c7-d469-453c-93c5-cb081c3af326-image.png] Allerdings bekomme ich die Monatsanzeige nur über die 30 Tage hin [image: 1692799510710-cd39c723-507d-4338-85bc-929447f7fa74-image.png] Wie machst du das?
  • Skript/Blockly verbessern

    17
    1
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    DJMarc75D
    @thomas-braun sodele... Laustärke Skript v2.0 ;) [image: 1692528064915-screenshot-2023-08-20-124037.png] sorry wg der Auflösung... dehalb hier der Code: Spoiler <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="m_fU+GKEG~B4S))D@G%D">myID</variable> <variable id="]*kEFZ(e5z@72cb9Kp)@">alexas</variable> <variable id="7DB5dK0*1*QrjhrIj`D@">currentState</variable> <variable id="f_q.[.fq?kf)rg~LImu*">Liste</variable> <variable id="=bB!0$flaPHx5xr,b}O2">volume</variable> <variable id="s1]}lXeH,G-qQsYDYd_D">echoDP</variable> <variable id="PLIj`{XSzaq%S^b|u|9C">startvolume</variable> <variable id=")fOlUEb))?kcB`=qR~S3">volumeDP</variable> </variables> <block type="on_ext" id="k=luF#idQtOl_@M6flnn" x="-362" y="-137"> <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=",1InwyuX,mX(pM%f=7[4"> <field name="oid">tr-064.0.callmonitor.toPauseState</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="a#peb##pl^rskkX5sF2j"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="^(KTRn:2s;0bVLV9c9pM"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="7ueOMjbvGVq53bVnKg=1"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="lOXch{[^VuN9O!M#*Lp7"> <field name="TEXT">ring</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="u8ls7N|2kdrhw=LM}dYe"> <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field> <value name="VALUE"> <block type="lists_create_with" id="Cml@$nj-]O8g=_3G-3Bm"> <mutation items="0"></mutation> </block> </value> <next> <block type="controls_forEach" id="+CD$_+})VP$2T2{VISfj"> <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field> <value name="LIST"> <block type="selector" id="VHHYFf3xuK..M[?2zJH)"> <field name="TEXT">alexa2.0.Echo-Devices.*.Player.currentState</field> </block> </value> <statement name="DO"> <block type="controls_if" id="MXVR%kD*413661ao`Ct#"> <value name="IF0"> <block type="get_value_var" id="E,6hCU*eJrq:TKIhFB|w"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="|]ro_}|L^?(5c`v;PqxM"> <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="/bxLeW=!=(zIAU[[DWFD"> <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field> <value name="VALUE"> <block type="procedures_callcustomreturn" id="eA|4{hk^}TL_Rgk[rG`!"> <mutation name="volume"> <arg name="myID"></arg> </mutation> <value name="ARG0"> <block type="variables_get" id=")VZv-OfyN3-xZ)`oY5N1"> <field name="VAR" id="7DB5dK0*1*QrjhrIj`D@">currentState</field> </block> </value> </block> </value> <next> <block type="variables_set" id="ofWMjx5t9[ql4^doe2EI"> <field name="VAR" id="PLIj`{XSzaq%S^b|u|9C">startvolume</field> <value name="VALUE"> <block type="get_value_var" id="D:]y!pZ=29yPC+}Ijo;{"> <field name="ATTR">val</field> <value name="OID"> <shadow type="text"> <field name="TEXT"></field> </shadow> <block type="variables_get" id="i$Z*+dPA=,=Yd:)2LC[+"> <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field> </block> </value> </block> </value> <next> <block type="lists_setIndex" id="hAg1{doON,wAa#HfXJaO"> <mutation at="false"></mutation> <field name="MODE">INSERT</field> <field name="WHERE">FIRST</field> <value name="LIST"> <block type="variables_get" id="VUH}v$`#wE*rFa?W+]EC"> <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field> </block> </value> <value name="TO"> <block type="text_join" id="t1P@D?Lp8J8|]vg/j0Ot"> <mutation items="5"></mutation> <value name="ADD0"> <block type="text" id=":Y^Z*#FUchfwz@|*rkeR"> <field name="TEXT">{"alexa":"</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="Yu-./7s[y=Y,PEg#:n~A"> <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field> </block> </value> <value name="ADD2"> <block type="text" id="RSJh~5$HV+aXl4;TlKt,"> <field name="TEXT">","volume":"</field> </block> </value> <value name="ADD3"> <block type="variables_get" id="Qh!c}$^AuO#2t/uDq9Z/"> <field name="VAR" id="PLIj`{XSzaq%S^b|u|9C">startvolume</field> </block> </value> <value name="ADD4"> <block type="text" id="qGg=(P1`#=G}qqXB:]UT"> <field name="TEXT">"}</field> </block> </value> </block> </value> <next> <block type="control_ex" id="4l(|#j[4L$$sWHR9SUUi" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid" id="L5Y?{gdAy`+Eu2aDz;4u"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="J]hw[!oisa+Fl}{[(MPj"> <field name="VAR" id="=bB!0$flaPHx5xr,b}O2">volume</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="D|S86z5K*TaX%j2f]f$,"> <field name="BOOL">TRUE</field> </shadow> <block type="math_number" id="fScOfmZjI@aS.2QM#K[M"> <field name="NUM">10</field> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id="(#aa7Yf(M?qam54_0Ivw"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="update" id="Uc=Y=]%-Noin21s=DFrd"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Test.ringringJson</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="SyAI)iprVj+}B4n698)`"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="~(9$Z/6zBodzmyj*`Jt["> <field name="TEXT">[</field> </block> </value> <value name="ADD1"> <block type="variables_get" id="}s*oA=Rm0Xzo9.PvfU+~"> <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field> </block> </value> <value name="ADD2"> <block type="text" id="-sdZGU8Qx:R1qo~(i!~J"> <field name="TEXT">]</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_compare" id="~5KEhQiW#m9Xj{EcR]60"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="LWP5%Z}QkxU%/KDa,NFd"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="EV+}XQ^T/cFm3-,pb5VS"> <field name="TEXT">end</field> </block> </value> </block> </value> <statement name="DO1"> <block type="variables_set" id="#H?SRSa1j8M.kLK#uwS*"> <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field> <value name="VALUE"> <block type="convert_json2object" id="zJUKSj`5tyR}x-#avWKu"> <value name="VALUE"> <block type="get_value" id="]7WRm.^LJKU58%Gcu#Hn"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Test.ringringJson</field> </block> </value> </block> </value> <next> <block type="controls_repeat_ext" id="]/seVO9]~;q=ETwSZKMe"> <value name="TIMES"> <shadow type="math_number" id="sVGhj0m?S$,Q97([`:Ku"> <field name="NUM">10</field> </shadow> <block type="lists_length" id="?|hUt8t[0wT_%sB_XK:a"> <value name="VALUE"> <block type="variables_get" id="w)1ES|p@3UUdS]fvFn1{"> <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field> </block> </value> </block> </value> <statement name="DO"> <block type="variables_set" id="Iz%nRBgAuBKbyY%`mlli"> <field name="VAR" id="f_q.[.fq?kf)rg~LImu*">Liste</field> <value name="VALUE"> <block type="lists_getIndex" id="`%:y%ov]q8uM[(e,%^yU"> <mutation statement="false" at="false"></mutation> <field name="MODE">GET_REMOVE</field> <field name="WHERE">FIRST</field> <value name="VALUE"> <block type="variables_get" id="F.uQ:u/{Q(1urH*rrxl]"> <field name="VAR" id="]*kEFZ(e5z@72cb9Kp)@">alexas</field> </block> </value> </block> </value> <next> <block type="variables_set" id="xQ)Zo%?X?y;Eai=V7$VN"> <field name="VAR" id="s1]}lXeH,G-qQsYDYd_D">echoDP</field> <value name="VALUE"> <block type="get_attr" id="BrFLvvH4K6;|](~Ae!L,"> <value name="PATH"> <shadow type="text" id="b+^lWI%YGS/$4y[Vl8T!"> <field name="TEXT">alexa</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="@P=IDeURD)(lm76~`hcx"> <field name="VAR" id="f_q.[.fq?kf)rg~LImu*">Liste</field> </block> </value> </block> </value> <next> <block type="variables_set" id="(l*pWmdD3NW_pYCRtLza"> <field name="VAR" id=")fOlUEb))?kcB`=qR~S3">volumeDP</field> <value name="VALUE"> <block type="get_attr" id="R!zU=W1w-`o|[prr=o4#"> <value name="PATH"> <shadow type="text" id="e[K(Pi`GbSG$XOe5xP0U"> <field name="TEXT">volume</field> </shadow> </value> <value name="OBJECT"> <block type="variables_get" id="|5%*K]lEk@bZuWN[^MK="> <field name="VAR" id="f_q.[.fq?kf)rg~LImu*">Liste</field> </block> </value> </block> </value> <next> <block type="control_ex" id="^AfPZeVlkPYr#]y|v.Xm" inline="true"> <field name="TYPE">false</field> <field name="CLEAR_RUNNING">FALSE</field> <value name="OID"> <shadow type="field_oid"> <field name="oid">Object ID</field> </shadow> <block type="variables_get" id="Ot-QwT#{oXIzu]v85N@B"> <field name="VAR" id="s1]}lXeH,G-qQsYDYd_D">echoDP</field> </block> </value> <value name="VALUE"> <shadow type="logic_boolean" id="eoOP.k-!J,C9~ywgQE?m"> <field name="BOOL">TRUE</field> </shadow> <block type="convert_tonumber" id="tigd%YVNad1$v`TglWCR"> <value name="VALUE"> <block type="variables_get" id="l}/G6dx+3#[.HEP*LoY5"> <field name="VAR" id=")fOlUEb))?kcB`=qR~S3">volumeDP</field> </block> </value> </block> </value> <value name="DELAY_MS"> <shadow type="math_number" id=";1c.]PWG/{P]+b}M:YBd"> <field name="NUM">0</field> </shadow> </value> </block> </next> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> <block type="procedures_defcustomreturn" id="E:a`vGcq3aTw!M/ieI-." x="163" y="-112"> <mutation statements="false"> <arg name="myID" varid="m_fU+GKEG~B4S))D@G%D"></arg> </mutation> <field name="NAME">volume</field> <field name="SCRIPT">cmV0dXJuIG15SUQucmVwbGFjZSgiY3VycmVudFN0YXRlIiwidm9sdW1lIik7IA==</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> </block> </xml> der DP ringringJson muss als JSON angelegt werden. Arbeite aber noch an einer eleganteren Methode vom Skript :)

567

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge