Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.6k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    S
    Ich habe die neuste (müsste 2.0.1 sein) und keine Probleme
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    paul53P
    @LaBamba [sagte]: Wenn du das Häckchen bei der Verzögerung meinst Der Haken bei "löschen falls läuft" führt dazu, dass bei erneutem "steuere" der laufende Timer gestoppt und ein neuer 15-Minuten-Timer gestartet wird. Wenn die Ausschaltverzögerung erforderlich ist, dann besser so: [image: 1785150113116-blockly_temp.jpg]
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • Philips Hue mit Zigbee Adapter steuern

    15
    1
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    arteckA
    @sentinel zur aufklärung.. der command Befehl war adapter gesteuert.. der hat die einzelnen befehle dann auseinander genommen und hinterher abgefertigt..hatte nix mit dem Netzwerk zu tun
  • Skript ändern ... aber was ?

    7
    0 Stimmen
    7 Beiträge
    323 Aufrufe
    Dr.PieD
    Moin... scheint zu funktionieren 😎👍 1000 Dank
  • [gelöst] Zwave2 - Per Script Interview bei Node auslösen

    blockly monitoring
    6
    0 Stimmen
    6 Beiträge
    575 Aufrufe
    PlasmachefP
    @alcalzone klappt super! herzlichen Dank und schönen Tag :-)
  • Instanz Werte nutzen

    3
    0 Stimmen
    3 Beiträge
    331 Aufrufe
    A
    @oliverio ok, das ist es! vielen dank! edit: so ähnlich zumindest. nicht "common.native" sondern nur "native" danke trotzdem var ob = getObject("system.adapter.hm-rpc.0"); console.log(ob.native.homematicAddress);
  • [gelöst] Daten per NFS kopieren und umbenennen (Zeitstempel)

    12
    1
    0 Stimmen
    12 Beiträge
    588 Aufrufe
    DJMarc75D
    @peterfido sagte in Daten per NFS kopieren und umbenennen (Zeitstempel): etwas aufwändiger Ja das klingt schon sehr aufwändig. Ich habe das jetzt im Blocklyskript gelöst wie @liv-in-sky geschrieben hatte: mount | grep meinMountpoint wird 2 Sekunden nach dem Mountbefehl abgefragt und wenn kein Wert zurück kommt wird das Blockly nicht weiter ausgeführt.
  • async-await sleep stoppen

    5
    0 Stimmen
    5 Beiträge
    534 Aufrufe
    S
    Super, vielen Dank für Eure Tipps, ! Habe es jetzt so umgesetzt var Timeout1 = null; var Timeout2 = null; on({id: RFCode, val: "12345"}, function() { if (getState(Light).val === false) { setState(Light, true); TimerLang(); } else if(Timeout1) { clearTimeout(Timeout1); Timeout1 = null; TimerKurz(); } else if(Timeout2) { clearTimeout(Timeout2); Timeout2 = null; TimerLang(); }}); function TimerLang() { Timeout1= setTimeout(function() { setState(Light, false); Timeout1 = null; }, 600000)}; function TimerKurz() { Timeout2= setTimeout(function() { setState(Light, false); Timeout2 = null; }, 30000)}; Falls man das noch eleganter machen kann, immer her mit den Tipps. Ich bin wie gesagt nicht so der JS Held, aber zumindest funktioniert es
  • Scripte verschwinden in der Ansicht

    9
    0 Stimmen
    9 Beiträge
    757 Aufrufe
    O
    @glasfaser Bin nicht über VNC verbunden. Mit "Problem mit dem Browser" meinte ich die Darstellung in einem Browser. Konnte das Problem jetzt eingrenzen. Die Ansicht fliegt nur bei einem bestimmten JS weg, nicht bei allen.
  • http request Erläuterung für Anfänger

    7
    3
    0 Stimmen
    7 Beiträge
    897 Aufrufe
    mickymM
    Ich hatte zwar an die Umsetzung des Http-Requests gedacht - aber wenn es fertige Nodes bzw. iobroker Adapter gibt - dann ist das ja vielleicht noch einfacher - da kann ich aber nichts zu beitragen.
  • Wert aus JSON in Variable mit Zeitstempel von gestern

    2
    0 Stimmen
    2 Beiträge
    334 Aufrufe
    paul53P
    @oggy1979 sagte: Zeitstempel (iobroker - letzte Änderung, für Verwendung in Grafana) auf den Wert aus dem json setzen?! Die Zeitstempel (ts, lc) eines Datenpunktes werden vom js-controller gesetzt.
  • Div class auslesen / parsen

    13
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    mickymM
    @ceel Mit snmp müsste es eigentlich gehen. Ich lese das via snmp via NodeRed aus - und das klappt auch mit anderen Marken als meinem HP- Drucker - siehe hier: https://forum.iobroker.net/topic/44337/hp-tintenfüllstände-mit-nodered-und-snmp Ich würde Dir halt generell mal empfehlen, den in dem Thread genannten MIB Browser zu installieren [image: 1662056123128-0f3378a6-3981-49ee-8922-da1604218596-image-resized.png] . Auf dem Screenshot siehst Du die OID 1.3.6.1.2.1.43.11.1 und den Pfad in der herstellerunabhängigen Printer MIB. Jedenfalls kannst Du so sehen, ob Du eine snmp Verbindung aufbauen kannst dich über die MIB durchsuchen, wo die Werte bei Dir drin stehen. Den MIB Browser habe ich mir damals hier runtergeladen: https://www.manageengine.de/produkte-loesungen/kostenlose-produkte-und-editionen/free-snmp-mib-browser-tool.html
  • [Anleitung] Lokal Netatmo Presence Bild -> Telegram

    2
    4 Stimmen
    2 Beiträge
    967 Aufrufe
    A
    Wird dabei auch eine Bewegung erkannt b.z.w. ändert sich das Bild kommt dann eine Nachricht. Ich würde gern ein Bild und eine Nachricht bekommen wenn jemand in den Bereich der Kamera kommt.
  • Markisen Steuerung

    javascript
    18
    0 Stimmen
    18 Beiträge
    796 Aufrufe
    M
    Übrigens: Markise schreibt man mit einem "s". Danke du hast natürlich Recht.
  • Werte aus PV Anlage auslesen

    6
    1
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    P
    @procrastinator Sorry to reply in English, used g-translate to find out what is going on here. I was wondering also the same thing, how to extract the production values from Steca's inverters. Their official way is to pull the data out with RS485 connection, but I wanted to get it out directly via their web server. They even sent the RS485 documentation when I asked how to pull out data over the www interface. After digging a while I found this, which at least gives you current values. By refreshing it, it gives you new values. This does't have yield values available, but those can be calculated roughly if the refresh is done often enough. http://192.168.0.161/measurements.xml (replace the IP with your's Steca IP)
  • LED am Raspberry per Script deaktivieren

    7
    0 Stimmen
    7 Beiträge
    701 Aufrufe
    AndreiosA
    @semmy sagte in LED am Raspberry per Script deaktivieren: @thomas-braun sagte in LED am Raspberry per Script deaktivieren: @semmy https://n.ethz.ch/~dbernhard/disable-led-on-a-raspberry-pi.html Wie bringt man das dann in ein Blockly? Als ich Deinen Beitrag gelesen habe, bin ich davon ausgegangen, dass Du die nur abschalten willst! Wenn das so ist, dann sollte es doch reichen, diese auf Betriebssystemebene abzuschalten, wie im Link beschrieben. Das geht auch dauerhaft!
  • Trigger mehrerer Werte

    javascript
    5
    0 Stimmen
    5 Beiträge
    492 Aufrufe
    S
    @paul53 sagte in Trigger mehrerer Werte: Wenn man die Zählerstanddifferenz zwischen Ein- und Ausschalten des DLE verwendet, werden auch alle parallel laufenden Verbraucher mit erfasst. ja klar, das ist so, deshalb Variante --- der durchschnittliche Verbrauch vorher Trigger wird ermittelt und anschließend abgezogen. // Smartmeter let idPOW = 'smartmeter.0.1-0:16_7_0__255.value'; // aktuelle Leistung in Watt let id_Zaehlerstand = 'smartmeter.0.1-0:1_8_0__255.value'; // aufgelaufener gesamt-Zählerstand in kWh let id_L2 = 'smartmeter.0.1-0:51_7_0__255.value'; // Stromstärke Phase 2 in A let id_L3 = 'smartmeter.0.1-0:71_7_0__255.value'; // Stromstärke Phase 3 in A // Userdata .. DlE = Durclauferhitzer let idDlE_Zustand = '0_userdata.0.Energieverbrauch.Durchlauferhitzer.DL_aktiv'; // DL aktiv|true , inaktiv|false let idDLE_Zaehlerstand = '0_userdata.0.Energieverbrauch.Durchlauferhitzer.Zaehlerstand'; // aufgelaufener Verbrauch in kWh //Trigger const iTrigger = 5000; // Schwellwert ab der aktiver Durchlauferhitzer vermutet wird. const iTrigger2 = 5; // Schwellwert in A bei L2 && L3 bei aktivem Durchlauferhitzer //Programm let fZaehlerStart; var fVerbrauch; // Verbrauch während Trigger var fAlterWert; var bAktiv; // true = Verbrauch wird aufgezeichnet, DLE in Betrieb var aGrundverbrauch = []; // 0-29 des Grundverbrauches var aTimeGrundverbrauch = []; // array 0-29 des Zeitabstand Grundverbrauchswerte var iAvgGrundverbrauch; // Mittelwert der letzten Werte Watt // ************************************************************************ // Mittelwert Grundverbrauch // Parameter myArray [Zeitstempel,Verbrauch] function ArrayMittel(myArray) { var i = 0, sum = 0, ArrayLen = myArray.length; // Verbrauch summieren while (i < ArrayLen) { sum = sum + myArray[i++][1]; } // Zeitspanne ermitteln var t = (myArray[myArray.length-1][0] - myArray[0][0]) / 1000; // Sekunden // Rückgabe KWh return (sum / 1000 / ArrayLen) / 3600 * t; } on({ id: idPOW, change: "ne" }, function (obj) { //if (obj.state.val >= iTrigger && !bAktiv) { if (obj.state.val >= iTrigger && !bAktiv && getState(id_L2).val > iTrigger2 && getState(id_L3).val > iTrigger2 ) { bAktiv = true; setState (idDlE_Zustand,true); fZaehlerStart = getState(id_Zaehlerstand).val; //gesamt-Zählerstand notieren } else if (obj.state.val < iTrigger && bAktiv) { bAktiv = false; setState (idDlE_Zustand,false); fVerbrauch = getState(id_Zaehlerstand).val - fZaehlerStart; // Verbrauch ermitteln fAlterWert = getState (idDLE_Zaehlerstand).val; // negative Werte durch Abzug von Grundverbrauch vermeiden if (fAlterWert + fVerbrauch - iAvgGrundverbrauch >= 0) { setState(idDLE_Zaehlerstand, fAlterWert + fVerbrauch); // Verbrauch abzüglich Grundeverbrauch ermitteln } } else if (!bAktiv) { // den Mittelwert der letzten 30 Werte vor Inbetriebnahme des Durchlauferhitzers ermitteln // laufend .... aGrundverbrauch.push( [new Date().getTime() , obj.state.val] ); // nur die letzten 30 Werte merken, Rest trashen .. if (aGrundverbrauch.length > 30) { aGrundverbrauch.shift(); } // Mittelwert aus den letzten 30 Werten bilden iAvgGrundverbrauch = ArrayMittel(aGrundverbrauch); console.log("aGrundverbrauch: " + JSON.stringify(aGrundverbrauch)); } });
  • Json 2 Datenpunkt

    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    paul53P
    @vanom-vine sagte: greife ich die Json von jemand anderes ab Wie? Du musst es in ein Skript bekommen. EDIT: Zeile 17 enthält den Zeitstempel vom 27.08.22 09:05 Uhr MESZ.
  • Zeitsteuerung Umfrage

    7
    0 Stimmen
    7 Beiträge
    946 Aufrufe
    David G.D
    @joker2048 Ich mache es auch per cron. Habe global für alle Timer und für einige der einzelnen einen Datenpunkt zum deaktivieren. Alles in Lovelace. Über den "time input" kann man den Zeitplan auch sehr konfortabel in Lovelace anpassen (man kann den Cron Zeitplan ja auch per Datenpunkt anpassen). Da sollte/wird man optisch was ansprechendes hinbekommen. Darf ich fragen, warum du weg möchtest von Lovelace? Hab mir Jarvis auch öfters mal angesehen. Würde aber ehrlich gesagt nie wechseln 🥰 Edit: Würde es in der Art machen [image: 1661676056551-screenshot_20220828-103149_chrome.jpg] [image: 1661676068387-screenshot_20220828-102739_chrome.jpg]
  • Blockly Script für Steuerung Warmwasser mit PV

    1
    1
    0 Stimmen
    1 Beiträge
    616 Aufrufe
    Niemand hat geantwortet
  • [gelöst] HTTP request geht nicht mehr

    14
    1
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    G
    @oliverio Oliver... Genial!!! Geht alles wieder wie vorher. Vielen vielen dank.
  • Homematic IP Rollo Positions Angaben umwandeln

    8
    0 Stimmen
    8 Beiträge
    842 Aufrufe
    HomoranH
    @mws sagte in Homematic IP Rollo Positions Angaben umwandeln: HmIP-HDM1 wo finde ich denn so was? Das führt mich zu der Annahme, dass dieser (seltsame) Aktor möglicherweise nicht sauber eingebunden ist. Ob jetzt schon bei EQ-3 oder nur bei ioBroker bleibt erst mal offen. Da solltest du auf jeden Fall mal ein Issue beim Adapteraufmachen, mit ausreichend Informationen über dieses Gerät. Ich habe nämlich auf die Schnelle nichts finden können EDIT: alles was ich bisher nach längerer Suche finde klingt ziemlich ernüchternd was die Implementierung seitens EQ-3 angeht, ist allerdings auch oft noch Stand von vor einem Jahr oder mehr

475

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge