Skip to content

Skripten / Logik

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

16.4k Themen 211.6k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    S
    @Mabbi mega... 💪🏼
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    HomoranH
    @tiobb mach mal ein reconfigure
  • 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
  • [gelöst] Geräte mit verschiedenen STATES

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    485 Aufrufe
    paul53P
    @PaSi: es funktioniert! ` Wirklich ? Dann markiere bitte das Thema im Betreff des ersten Beitrags als [gelöst].
  • Fehler bei Blockly

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    942 Aufrufe
    M
    Hatte ich schon vor Tagen drauf hingewiesen :-) Hat sich keiner interessiert … :lol:
  • [gelöst] Ursprung eines gesetzten Status feststellen

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    363 Aufrufe
    apollon77A
    Naja oder halt ein Skript … Das ist jetzt eine Frage des Use-Cases bzw was genau mit der "info" wer hier steuert passieren soll. man kann auch State changes monitoren und wenn eine true ohne vorheriges false mit gleichem Wert kam dann war es ausserhalb, sonst ein Skript ...
  • 0 Stimmen
    6 Beiträge
    1k Aufrufe
    DutchmanD
    @paul53: Lass mal path als Leerstring und dann schau mal unter iobroker-data/files/javascript Danke, da stand die Datei dan auch also will er wohl nicht ausserhalb dieses Verzeichnisses arbeiten ? Ja, mich auch. Ändere mal das Log (so hatte ich es getestet): log(id + ': ' + getState(id).val); ```` ` mein blöder Fehler, + anstatt & … jetzt klappts danke dir !!!
  • [gelöst] Fehlermeldung aus blockly Script - wrong type: string

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    559 Aufrufe
    M
    Erledigt.
  • Node Red Funktion mit mehr Outputs

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    R
    Du hast sicher irgend ein Input-node worüber die Daten eingehen. Häng da doch mal ein debug-node dran, das die komplette msg zeigt und dann mach einen screenshot vom debug-panel. Falls das > {deviceId:2,val:[1000,1000,1000,1000,1000]} der Bufferinhalt ist, würde ich ein Funktionsnode nachschalten. Das muss dann: den Buffer in ein JSON Object wandeln let json = JSON.stringify(msg.payload); Und dann das array an die Ausgänge schicken: node.send(json.val); Natürlich musst du vorher deinem Funktionsnode 5 Ausgänge spendieren. Denke aber daran, dass die Nachrichten dennoch NACHEINANDER an die 5 Ausgänge geschickt werden.
  • [gelöst] Wie in Blockly mit mehreren "oder" arbeiten?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    442 Aufrufe
    S
    Ach klasse, dankeschön ! Probiere ich gleich mal aus ;) Scheint super zu klappen, sieht zwar mächtig gewältig aus, aber funktioniert :)
  • Script für shutdown nach Zeit x bei Stromausfall mit Rücksetzung bei Netzwiderkehr

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    smartboartS
    Ok nicht möglich…Schade... Die Idee war nach einem Stromausfall mit shutdown die dinger bei Netzwiderkehr wieder hochzufahren zu können . Da die Boards ja Batterie gepuffert sind, würden bei Restkapazität der Batterien die Geräte ja nicht wieder neu starten bzw. erst wenn die Batterien leer wären... Ist das Netz vorher wieder da, bleiben die Maschinen ja aus. Deshalb wäre ein Möglichkeit schön, z.B Aus dem Urlaub heraus die Dinger wieder starten zu können. WOL ist leider nicht di Lösung... Müsste wohl eine kleine Schaltung bauen um das zu relaisieren. Oder ein geflashter Schaltaktor mit Tasmota Firmware in die Versorgungsleitung..Dieser könnte über die eigene Web Url ferngesteuert werden... Da muss ich mir noch was überlegen... Schade das es mit WOL nicht geht... WOL relies on having a BIOS that is listening for the magic packet on the network interface. Raspberry Pis do not have a BIOS that can do that, so WOL is impossible. You can use a Pi to generate magic packets to wake other machines. http://search.cpan.org/~clintdw/Net-Wak ... et/Wake.pm
  • Pushnachrichten formatieren?

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    B
    Wenn html aktiviert ist, muss eingefügt werden. Ich mache das auch nur direkt über JS, da könntest du aber das Blockly umwandeln: tmessage = tmessage + " "; // Zeilenumbruch tmessage = tmessage + "Wohnzimmer : " + "<tab to="t1">" + getState("hm-rpc.0.xxxxx.TEMPERATURE"/*Wohnzimmer Wetter.TEMPERATURE*/).val + " (" + getState("hm-rpc.0.xxxxxx.SETPOINT").val + ") °C"; tmessage = tmessage + " "; // Zeilenumbruch tmessage = tmessage + "xxxxx" + '_______. ' + ": " + getState("hm-rpc.0.xxxxx.TEMPERATURE"/*xxxx Wetter.TEMPERATURE*/).val + " (" + getState("hm-rpc.0.xxxxx.SETPOINT").val + ") °C"; sendTo("pushover.1", { // 0 Mitteilungen 1 Warnungen 2 Alarm message: tmessage, // mandatory - your text message title: ttitle, // optional - your message's title, otherwise your app's name is used device: "XperiaZ5", priority: -1, html: 1, });</tab> Grüße Brati
  • Kein Log in Console zu sehen

    Verschoben
    14
    1
    0 Stimmen
    14 Beiträge
    4k Aufrufe
    StuebiS
    @Stabilostick: Macht doch bitte, wenn sich zeigt, dass andere auch das gleiche Problem haben, dazu ein Issue auf Github auf. Geht ganz einfach. Nachdem ich auch ab und zu betroffen bin, habe ich es dieses mal gemacht: https://github.com/ioBroker/ioBroker.ja … issues/159 Nachstes Mals seit ihr dran ... [emoji1] ` Ich habe das gleiche Problem. Eine Weile funktioniert die Log Ausgabe und dann wird nichts mehr angezeigt. Ich öffne dann auch ein zweites mit dem Log Tab. Gesendet von iPhone mit Tapatalk
  • Neuling braucht Hilfe bei Wake_on_Lan

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    StabilostickS
    Wechsele doch vor der Installation in den iobroker-Ordner.
  • Blockly Anwesenheit

    Verschoben
    2
    1
    0 Stimmen
    2 Beiträge
    955 Aufrufe
    U
    Keiner eine Idee dazu :-( ?
  • [gelöst]Verständnisfrage setState('Kitchen.Light.Lamp', false, false, function () {

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    535 Aufrufe
    smartboartS
    Ok, jetzt hab ich es…Dann ist ja alles paletti und kann bleiben wie es ist...... Vielen Dank euch Beiden für eure Ausführungen...
  • Meine Aquarium Schaltung

    Verschoben
    27
    1
    0 Stimmen
    27 Beiträge
    2k Aufrufe
    Dr. BakteriusD
    Nein! Der Datenpunkt wird vom MQTT-Adapter angelegt sobald der ESP das erste Mal Daten übermittelt. Auch der Code ist dann schon vorhanden und muss nur an manchen Stellen ein wenig angepasst werden. Bei mir heißt der ESP "Aquarium", das Device hat den Namen "Wassertemperatur" und der Wert (Value) wurde von mir "Temperature" genannt. Daher ist der Datenpunkt bei mir unter 'mqtt.0/Aquarium/Wassertemperatur/Temperature' zu finden.
  • [Gelöst] Feuchtigkeitssensor - Frage zur Meldung per Telegram

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    E
    @quorle: Also ich habe den ersten Teil einmal nachgebaut bei mir, aber leider wird immer wieder die Meldung gesendet, wenn der Wert bei 70 stehen bleibt. Kann man das entschärfen? Unbenannt.png ` Falls du 70% als deinen ultimativen Wert zur Meldung definieren willst würde ich etwas Karenz einbauen. Also voriger Wert z.B. kleiner 65%. Bei mir habe ich auch etwa 3-5% Unterschied genommen weil es häufig vorgekommen ist, dass sich das genau dazwischen bewegt und ich damit ständig Benachrichtigungen bekommen habe. So klappt es eigentlich ganz gut. Meintest du das oder hab ich dich falsch verstanden?
  • Arduino MQTT Werte an ioBroker Senden

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    ThisoftT
    @pzudematrick: Also habe deinen Code getestet. Es kommt nun keine Fehlermeldung, und ich kann es somit hochladen. Jedoch wird im ioBroker nur eine Zahl zwischen 1 und 2 angezeigt, welche freudig hin und her springt? Irgendwie Kurios? ` Nee - gar nicht kurios, ganz im Gegenteil zeigt das dass der Arduino und die MQTT-Kommunikation läuft. Die Frage ist jetzt: Was hast du denn für einen Bodenfeuchtesensor und welche Ausgangsspannungswerte oder was auch immer liefert der denn??? ESPEasy kannst du natürlich auch versuchen, das lädst du als Firmware auf den NodeMCU und die Kommunikation mit ioBroker läuft dann genauso über MQTT. Ich persönlich bin damit allerdings nicht wirklich "warm geworden", ist aber nur ne persönliche Marotte. Die Software an sich ist nicht schlecht und kann viel…
  • [Gelöst] Per script nummer und type eines wertes seperieren

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    335 Aufrufe
    DutchmanD
    danke euch mit das hat mir sehr weitergeholfen !
  • Anrufname von Fritzbox auf KNX Bus senden

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    286 Aufrufe
    Niemand hat geantwortet
  • [Gelöst]Zeit stellen für Rolladen im Vis

    Verschoben
    23
    0 Stimmen
    23 Beiträge
    4k Aufrufe
    B
    UPS, schaue ich mir morgen an, was steht denn im log? Grüße Brati
  • Rolladen Script für Javascript Adapter

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    3k Aufrufe
    smartboartS
    so hier nun das fertige Script mit allen Schnick Schnack und den verschiedensten Fahrprogrammen und Bedingungen.. Etwas aufgeräumt und optimiert.. //Rolladen Script //States für Manuell und Automatik Vorwahl in Vis createState('javascript.0.Rolladen.Gesamt.EGAutomatik', {def: 'false', type: 'boolean', name: 'Rolladen Gesamt EG Automatik aktivieren'}); createState('javascript.0.Rolladen.Couch.Automatik', {def: 'false', type: 'boolean', name: 'Rolladen Couch Automatik aktivieren'}); const id1 = 'wiffi-wz.0.root.192_168_xx_XX.w_windstaerke'; //Sturm const id2 = 'hm-rpc.0.PEQ03xxxxxx.1.BRIGHTNESS'; //Helligkeit const id3 = 'wiffi-wz.0.root.192_168_xx_xx.w_sonne_scheint'; //Sonne const id4 = 'javascript.0.Status.Brandmelder.Anzahl_melden_Brand'; //Brand const id5 = 'javascript.0.alarm.out.alarm_intern'; //Alarmanlage const id6 = 'wiffi-wz.0.root.192_168_xx_xx.w_rain_status'; //Regen const id7 = 'javascript.0.Anwesenheitssteuerung.BewohnerAnwesend'; //Anwesend const idRolloCouch = 'hm-rpc.0.OEQ12xxxxxx.1.LEVEL'; //Rolladen Couch function Rolladen() { console.log('Rolladen Couch trigger aktiv '); var Sturm = getState ('wiffi-wz.0.root.192_168_xx_xxx.w_windstaerke').val; var Alarm = getState('javascript.0.alarm.out.alarm_intern').val; var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val; var ZeitfensterMorgen = getState ('javascript.0.Rolladen.ZeitfensterMorgen').val; var ZeitfensterAbend = getState ('javascript.0.Rolladen.ZeitfensterAbend').val; var Helligkeit = getState ('hm-rpc.0.PEQ039xxxxx.1.BRIGHTNESS').val; var AussenTemp = getState ('wiffi-wz.0.root.192_168_xx_xx.w_temperature').val; var Regen = getState ('wiffi-wz.0.root.192_168_xx_xx.w_rain_status').val; var BehanghoeheCouch = getState('hm-rpc.0.OEQ129xxxxx.1.LEVEL').val; var AutomatikEG = getState('javascript.0.Rolladen.Gesamt.EGAutomatik').val; var AutomatikCouch = getState('javascript.0.Rolladen.Couch.Automatik').val; var Sonne = getState('wiffi-wz.0.root.192_168_xxx_xx.w_sonne_scheint').val; var FensterCouchRechts = getState('hm-rpc.0.OEQ1434xxxx.1.STATE').val; var FensterCouchMitte = getState('hm-rpc.0.OEQ143xxxx.1.STATE').val; var FensterCouchLinks = getState('hm-rpc.0.OEQ1197xxxx.1.STATE').val; var Anwesend = getState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend').val; // Rollos hoch if (( Brand >= 1 || Alarm === true) || (ZeitfensterMorgen === true && Helligkeit >= 40 && BehanghoeheCouch <= 95 && AutomatikEG === true && AutomatikCouch === true)) { setStateDelayed(idRolloCouch, 100, 1800);//zeitverzögerung Addition pro Rolladen um 600ms if(idRolloCouch, 100); console.log('Rolladen Couch offen'); }else{ //Rollo runter if ((ZeitfensterAbend === true && FensterCouchRechts === false && FensterCouchMitte === false && FensterCouchLinks === false && Helligkeit <= 10 && BehanghoeheCouch >= 20 && AutomatikEG === true && AutomatikCouch === true && Brand === 0 && Alarm === false) || ( Sturm >= 6 && BehanghoeheCouch >=0 && Brand === 0 && Alarm === false) || ((Regen === true || Anwesend ===false ) && (FensterCouchRechts === true || FensterCouchLinks === true || FensterCouchMitte === true ) && BehanghoeheCouch >= 0 && Brand === 0 && Alarm === false )) { setStateDelayed(idRolloCouch, 0, 1800); if(idRolloCouch, 0); console.log('Rolladen Couch geschlossen'); }else{ // Rollor runter auf 50 % Sicht wegen Sonne und Temp if (isTimeInRange('13:00:00', '19:30:00') && Sonne === true && BehanghoeheCouch >= 55 && AutomatikEG === true && AutomatikCouch === true && Brand === 0 && Alarm === false && Aussentemp >= 26) { setStateDelayed(idRolloCouch, 50, 1800); if(idRolloCouch, 50); console.log('Rolladen Couch wegen Sonne und hoher Temp. auf 50% Sicht gefahren '); } } } } Rolladen(); // Skriptstart on(id1, function(dp) { Sturm = dp.state.val; Rolladen(); }); on(id2, function(dp) { Helligkeit = dp.state.val; Rolladen(); }); on(id3, function(dp) { Sonne = dp.state.val; Rolladen(); }); on(id4, function(dp) { Brand = dp.state.val; Rolladen(); }); on(id5, function(dp) { Alarm = dp.state.val; Rolladen(); }); on(id6, function(dp) { Regen = dp.state.val; Rolladen(); }); on(id7, function(dp) { Anwesend = dp.state.val; Rolladen(); });

194

Online

32.4k

Benutzer

81.4k

Themen

1.3m

Beiträge