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
    @mcu Hi, hab heute die drei !!! beim Alexa Skript https://mcuiobroker.gitbook.io/jarvis-infos/jarvis-v3/system-effektprog./jsontable-alexa-horspiele zum Array hinzugefügt aber es wird kein Cover angezeigt und es werden die drei ??? Kids abgespielt. Kannst Du da bitte mal drüber schauen. Danke [image: 1777493818776-bildschirmfoto-2026-04-29-um-22.16.41-resized.png]
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    M
    @Jannik1808 In meiner Doku habe ich ein Script gefunden. Habe es aber nie gebraucht. Weiß also nicht ob es funktioniert. #!/bin/bash export XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 wlr-randr --output HDMI-A-1 --off
  • 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
  • Klingel soll 2h aus, wenn Kinderzimmertüren zu

    6
    0 Stimmen
    6 Beiträge
    380 Aufrufe
    S
    @paul53 hab das mal so umgesetzt und mir einen Debuglog eingebaut, wenn der Timer neu startet. Sieht sehr vielversprechend aus! Besten Dank! Melde mich wieder bei dir, wenn der Postbote die Schratzen nicht mittagsschlafen lässt oder die Feuerwehr nachts vergeblich klingelt, weil mein Auto brennt :-) VG Schnuckman79
  • Datenpunkte filtern (rolling average)

    28
    0 Stimmen
    28 Beiträge
    5k Aufrufe
    P
    Da das aktuelle Problem mit dem ursprünglichen Thema nichts zu tun hat, habe ich das Thema ausgegliedert. Hier geht es weiter. Vielen Dank an alle - vor allem an @paul53 der so lange drangeblieben ist.
  • [Gelöst] Smart Button Wert auslesen und Datenpunkt ändern

    4
    1
    0 Stimmen
    4 Beiträge
    259 Aufrufe
    arteckA
    @paul53 sagte in Smart Button Wert auslesen und Datenpunkt ändern: Wenn es "lang" gibt, müsste es auch "release" (loslassen) geben? ne nicht zwingend notwendig.. zumindest nicht als einzelnes Datenpunkt
  • Script so ändern das die Lautstärke wieder neutral ist

    7
    1
    0 Stimmen
    7 Beiträge
    642 Aufrufe
    crunchipC
    @kusselin sagte in Script so ändern das die Lautstärke wieder neutral ist: Ok und warum muss der in den block vom cron…? Da ist ja schon gesprochen.. ne, nachts spricht ja keiner, du setzt ja erstemal um 6 auf falsch, die Lautstärke wird dann um 6 ebenfalls auf die gewünschte Lautstärke gesetzt.
  • Hilfe bei der Skripterstellung Push Safer

    3
    1
    0 Stimmen
    3 Beiträge
    378 Aufrufe
    P
    @padi0-000 sagte in Hilfe bei der Skripterstellung Push Safer: Hallo Zusammen, ich habe mir ein Skript erstellt, (mit Blocky) was mir Nachrichten über Push Safe sendet. Wenn ich die Alarmanlage auf scharf stelle bekomme ich eine Push Nachricht " Alarmanlage Scharf Fenster ist Offen " wenn dabei ein Fenster offen ist. Nun würde ich gerne eine Push Nachricht bekommen in der steht welches Fenster offen ist. Da ich aber nur einen Text einfügen kann, würde ich gerne wissen wie ich das eventuell in Java lösen kann, dass der Text der mit Push Safe gesendet wird als Variable eingetragen wird. Z.B "FENSTER BADE GEKIPPT". [image: 1719873511786-unbenannt.png] <block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="M19}z-zpHhduZ[~?ho9E" x="-713" y="1450"> <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="FPQd%Qs:{W2$t2lRMqXc"> <field name="oid">0_userdata.0.DG_Technik.SMS/Push_Alarm_Fenster_Offen_Wenn_Alarm_scharf</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="h*KGiKlf[$.B.ZC13y_i"> <value name="IF0"> <block type="logic_compare" id="wOZxbnQ_B=_$ijhr$Tua"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="osejG8PRco%~Ir+x~xRV"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.DG_Technik.SMS/Push_Alarm_Fenster_Offen_Wenn_Alarm_scharf</field> </block> </value> <value name="B"> <block type="text" id=".?jy=vn!:1;!Ov+p~Wv7"> <field name="TEXT">1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="pushsafer" id="[?9y8$7nf3*~G:TfM-C]"> <field name="INSTANCE">.1</field> <field name="SOUND">8</field> <field name="VIBRATION">3</field> <field name="PRIORITY">2</field> <field name="ANSWER">0</field> <field name="LOG"></field> <value name="MESSAGE"> <shadow type="text" id="xB[Wm#jBdQ:NemA48;c)"> <field name="TEXT">Alarmanlage Scharf Fenster ist Offen </field> </shadow> </value> <value name="DEVICE"> <block type="text" id="cy.pYtseY`l.6V72qe|3"> <field name="TEXT">XXXXX</field> </block> </value> </block> </statement> </block> </statement> </block> Ich hoffe es kann mir jemand helfen. VG Patrick Danke für die Hilfen nur leider kann ich das Textfeld nicht ersetzen. habe es aber mit Java hin bekommen. // @ts-nocheck on({ id: [].concat(['0_userdata.0.DG_Technik.SMS/Push_Alarm_Fenster_Offen_Wenn_Alarm_scharf']), val: true }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; if (getState('0_userdata.0.Fenster_Kontakte.DG.Tür/Fenster_Wohnzimmer_Strasse_1_Offen').val == '1') { sendTo("pushsafer.1", "send", { message: 'DG Tür/Fenster Wohnzimmer Strasse 1 Offen ', sound: "8", vibration: "3", device: 'XXXXX', }); } if (getState('0_userdata.0.Fenster_Kontakte.DG.Tür/Fenster_Wohnzimmer_Strasse_1_Gekippt').val == '1') { sendTo("pushsafer.1", "send", { message: 'DG Tür/Fenster Wohnzimmer Strasse 1 Gekippt ', sound: "8", vibration: "3", device: 'XXXXX', }); }
  • Dieses Thema wurde gelöscht!

    1
    0 Stimmen
    1 Beiträge
    18 Aufrufe
    Niemand hat geantwortet
  • Warmwasser und Auto laden

    56
    0 Stimmen
    56 Beiträge
    6k Aufrufe
    MichaelFM
    @paul53 Danke für die Antwort, ich teste morgen mit "delayOn" auf 5 Minuten und 1500W für den Überschuss.
  • [Gelöst]Umstellung Request auf Axios

    3
    0 Stimmen
    3 Beiträge
    372 Aufrufe
    BoronsbruderB
    @mcu Vielen Dank, du bist mein Held!
  • Zigbee Status der LED

    7
    0 Stimmen
    7 Beiträge
    800 Aufrufe
    J
    @arteck Die Version des Zigbee Adapters ist die 1.10.4 (GIT Version) Mein Koordinator ist ein SLZB-06. Hier die entsprechende Kachel. [image: 1719342849452-screenshot_20240625-211115.png] Und die Kachel von den Lampen. [image: 1719342918691-screenshot_20240625-211034.png]
  • Zentral Status Licht

    12
    1
    0 Stimmen
    12 Beiträge
    965 Aufrufe
    paul53P
    @ft-knorr sagte: sagen kann, dass er Nullwerte ignorieren soll. Das sind keine Nullwerte, sondern der Datenpunkt hat keinen Zustand, da anscheinend "expire" verwendet wurde. Da hilft nur eine JS-Funktion mit Ergebnis: if(existsState(id)) return getState(id).val; [image: 1719212377475-blockly_temp.jpg]
  • Vorheriger Wert Baustein

    3
    1
    0 Stimmen
    3 Beiträge
    346 Aufrufe
    AsgothianA
    @darkdevil sagte in Vorheriger Wert Baustein: ich dachte das es eine gute Idee wäre auf den vorherigen Wert zu triggern. Wenn dieser von 0 (alles dunkel ) stammt müsste der Script ja nur bei aufgehender Sonne auslösen. Wenn du mit einem Vergleich von Wert und vorheriger Wert arbeitest solltest du immer darauf achten das es keine Lücken gibt. In Deinem Beispiel das Falls also so aufbauen: [image: 1718866258510-screenshot-2024-06-20-at-08.50.52.png] Insbesondere solltest du wenn du schon den "vorheriger Wert" Baustein benutzt auch den "Wert" Baustein nutzen, und den Wert nicht neu holen via Wert von Objekt ID ... Zusätzlich würde ich in Deinem Fall gleich den Trigger noch auf "ist grösser als vorher" setzen - dann löst der generell nur aus wenn es heller wird. A.
  • Rollosteuerung für Fortgeschrittene

    3
    1
    0 Stimmen
    3 Beiträge
    428 Aufrufe
    icebearI
    @adnim Ah, verstehe, da hab ich ja garnich dran gedacht, also quasi unten auswählen (Schreibe 1-x Zahl in einen DP) und über die Sichtbarkeit kann ich ja dann steuern welche von den 1-x Steuerelementen aktiv sind. Schau ich mal ob ich das so hinbekomme. Danke für den Tipp
  • Script auslösen wenn Timestamp älter als x ist

    6
    0 Stimmen
    6 Beiträge
    590 Aufrufe
    G
    Danke euch für die Antworten. Denke es wäre sowohl mit der von @OliverIO beschriebenen Methode gut möglich, allerdings werde ich mal die von @paul53 umsetzten, da es ein "Last Sync Objekt" im Adapter gibt 👌. @crunchip auch gute Idee, allerdings ist mir nur ein Datenpunkt "Online" aufgefallen. Ich werde mal im Auge behalten, ob hier der Adapter oder das Modul direkt im Adapter gemeint ist. Grüße Phil
  • JSON Datenpunkt auslesen - Problem : Doppelpunkt im Namen

    23
    0 Stimmen
    23 Beiträge
    2k Aufrufe
    paul53P
    @ralf-8 sagte: Hier ist mein Alias Richtig: Zustandstyp: Zahl nicht Writable Rolle: value.power Unit: W
  • Abfrage "wenn innerhalb von X Sekunden Wert wahr" *gelöst*

    10
    0 Stimmen
    10 Beiträge
    764 Aufrufe
    paul53P
    @surfer09 sagte: müsste ich dann nach "0" und "1" abfragen ... oder auf "ist größer als letztes" triggern - wie gezeigt. @surfer09 sagte in Blockly Abfrage "wenn innerhalb von X Sekunden Wert wahr": Den Briefkasten Status lasse ich noch in eine separate Variable schreiben Der Datenpunkt muss auch wieder zurück gesetzt werden. [image: 1718525629907-blockly_temp.jpg]
  • Telegram Bilder - Es kommt immer der Bilder Link mit

    14
    1
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    S
    @haus-automatisierung Ähm ja klar [image: 1718436717500-screenshot_2024-06-15-09-31-17-271_com.android.chrome-edit.jpg] Einziges Manko, wenn nach 4000ms das Bild noch nicht gesendet wurde ( warum auch immer ) dann kommt halt erst in 8000ms das nächste Bild. Kann man eine Abfrage einbauen um zu prüfen ob das Bild schon gesendet wurde?
  • Strom Verbrauch und separat Überschuss berechnen

    155
    1
    0 Stimmen
    155 Beiträge
    33k Aufrufe
    DuffyD
    @heidepower Klappt es jetzt ?
  • Dynamisches Licht - Farbverlauf Tag/Nacht

    javascript template
    104
    5 Stimmen
    104 Beiträge
    20k Aufrufe
    D
    Hi, ich habe mir erlaubt noch ein weiteres Skript für TUYA RGBCCT Leuchten zu schreiben, die die Farbtemperatur in einem Wert von 0-1000 darstellen. Falls es jemand benötigt: // Funktion, die den Wert liest, umrechnet und schreibt function processValue() { // Lese den Wert aus ioBroker (ersetze 'javascript.0.Dynamisches_Licht.Hilfswert_Kelvin' durch die tatsächliche Objekt-ID) let sourceValue = getState('javascript.0.Dynamisches_Licht.Hilfswert_Kelvin').val; // Kelvin range typically 2700K to 6500K const minKelvin = 2200; const maxKelvin = 6500; // Tuya temperature range 0 to 1000 const minTuyaTemp = 0; const maxTuyaTemp = 1000; // Ensure the Kelvin value is within the expected range if (sourceValue < minKelvin) sourceValue = minKelvin; if (sourceValue > maxKelvin) sourceValue = maxKelvin; // Convert Kelvin to Tuya temperature const convertedValue = ((sourceValue - minKelvin) * (maxTuyaTemp - minTuyaTemp)) / (maxKelvin - minKelvin) + minTuyaTemp; // Schreibe den umgerechneten Wert zurück zu ioBroker (ersetze 'javascript.0.Dynamisches_Licht.Hilfswert_Tuya' durch die tatsächliche Ziel-Objekt-ID, die Du noch erstellen musst) setState('javascript.0.Dynamisches_Licht.Hilfswert_Tuya', Math.round(convertedValue)); console.log(`Wert von ${sourceValue} umgerechnet zu ${Math.round(convertedValue)} und geschrieben zu javascript.0.Dynamisches_Licht.Hilfswert_Tuya`); } // Setze das Update-Intervall auf eine Minute (60.000 Millisekunden) setInterval(processValue, 60000); // Starte den Prozess sofort, ohne auf das erste Intervall zu warten processValue();
  • Frage zum Wandeln / Importieren eines Scriptes

    4
    0 Stimmen
    4 Beiträge
    317 Aufrufe
    crunchipC
    @tritanium es gibt noch den statistics Adapter
  • Tasmota Rule für Port Expander (PCF8574)

    2
    1
    0 Stimmen
    2 Beiträge
    293 Aufrufe
    oberfraggerO
    Rule1 ON PCF8574-1_INP#D0=0 DO Power3 1 ENDON ON PCF8574-1_INP#D0=1 DO Power3 0 ENDON ON PCF8574-1_INP#D1=0 DO Power5 1 ENDON ON PCF8574-1_INP#D1=1 DO Power5 0 ENDON ON PCF8574-1_INP#D2=1 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenHinten_Offen":"1"} ENDON ON PCF8574-1_INP#D2=0 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenHinten_Offen":"0"} ENDON ON PCF8574-1_INP#D3=1 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenVorne_Offen":"1"} ENDON ON PCF8574-1_INP#D3=0 DO publish stat/Schuppen/RESULT {"Tuer_SchuppenVorne_Offen":"0"} ENDON Backlog Rule1 1 Rule1 1 Rule2 ON analog#a0=1024 DO publish stat/Schuppen/RESULT {"Keypad":"1"} ENDON ON analog#a0=816 DO publish stat/Schuppen/RESULT {"Keypad":"2"} ENDON ON analog#a0=547 DO publish stat/Schuppen/RESULT {"Keypad":"3"} ENDON ON analog#a0=289 DO publish stat/Schuppen/RESULT {"Keypad":"4"} ENDON ON analog#a0=246 DO publish stat/Schuppen/RESULT {"Keypad":"5"} ENDON ON analog#a0=216 DO publish stat/Schuppen/RESULT {"Keypad":"6"} ENDON ON analog#a0=161 DO publish stat/Schuppen/RESULT {"Keypad":"7"} ENDON ON analog#a0=148 DO publish stat/Schuppen/RESULT {"Keypad":"8"} ENDON ON analog#a0=134 DO publish stat/Schuppen/RESULT {"Keypad":"9"} ENDON ON analog#a0=103 DO publish stat/Schuppen/RESULT {"Keypad":"0"} ENDON ON analog#a0=110 DO publish stat/Schuppen/RESULT {"Keypad":"*"} ENDON ON analog#a0=98 DO publish stat/Schuppen/RESULT {"Keypad":"#"} ENDON Backlog Rule2 1 Rule2 1

283

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge