Skip to content

Skripten / Logik

16.6k Topics 214.3k Posts

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

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Topics
    49k Posts
    T
    @Chrunchy sagte: @paul53 sagte: @Chrunchy [sagte]: Funktion createState in der JavaScript-Script-Engine (ab js-controller 6/7) als veraltet (deprecated) betrachtet und durch setObjectNotExists oder extendObject ersetzt. Wie kommst du darauf? Hatt das hier (https://forum.iobroker.net/topic/75919/createstate-deprecated) so verstanden. Das eine ist Adapterentwicklung das andere Javascript-Adapter - ich benutze in beiden "extendObject" - für nicht Adapterentwickler ist createStates() aber besser.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    HumidorH
    @paul53 Danke, du triggerst eine Funktion Alarm1, die selbstständig alle 5min ausgeführt wird, außer der Trigger stoppt diese. [image: 1775796578011-bildschirmfoto-2026-04-10-um-06.49.28.png]
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Topics
    13k Posts
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • Skripte richtig verwalten/anlegen

    blockly
    8
    0 Votes
    8 Posts
    1k Views
    dslraserD
    Ich mache es so... [image: 1608724567581-screenshot_20201223-125533_chrome.jpg]
  • [gelöst]Blockly Cron-Job / Zeitplan

    blockly
    3
    2
    0 Votes
    3 Posts
    287 Views
    GregorSG
    @Meister-Mopper Hat funktioniert. Danke
  • View wechseln

    Moved
    51
    0 Votes
    51 Posts
    12k Views
    D
    Hat sich erledigt, Danke
  • Fehlermeldung im log entschlüsseln

    javascript
    13
    0 Votes
    13 Posts
    743 Views
    M
    @paul53 @Homoran Ich habe den Fehler gefunden. Ich arbeite ausschließlich mit den Aliasen. Bei mir heist der Alias Light_005. In deconz ist es lights/13. Das muss man erst einmal herausfinden... Besten dank aber für eure Hilfe! Ich habe aber noch ein anderes Problem, was unregelmäßig immer dann auftritt, wenn ich in Blockly einen Datenpunkt auswählen will, also z.B. hier den Datenpunkt Lights_Info_Blink: [image: 1608661098522-8e7b750d-adb1-4bba-9246-1ab68dd5be1e-image.png] Ich hatte schonmal im Forum gefragt, aber leider konnte mir hier keiner helfen, vielleicht habt ihr ja noch eine Idee. Der Fehler äußert sich darin, dass ca. 30 Sekunden nichts passiert und der drehende Halbkreis kommt bis dann wieder alles normal funktioniert. Hier die Fehlermeldung: admin.0 2020-12-22 19:16:40.998 warn (24290) Terminated (UNCAUGHT_EXCEPTION): Without reason admin.0 2020-12-22 19:16:40.028 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:40.028 error (24290) uncaught exception: Cannot set property 'source' of undefined admin.0 2020-12-22 19:16:40.026 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:40.026 error (24290) uncaught exception: Cannot set property 'source' of undefined admin.0 2020-12-22 19:16:40.024 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:40.023 error (24290) uncaught exception: Cannot set property 'source' of undefined admin.0 2020-12-22 19:16:40.021 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:40.020 error (24290) uncaught exception: Cannot set property 'source' of undefined admin.0 2020-12-22 19:16:40.019 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:40.018 error (24290) uncaught exception: Cannot set property 'source' of undefined admin.0 2020-12-22 19:16:40.015 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:40.015 error (24290) uncaught exception: Cannot set property 'source' of undefined admin.0 2020-12-22 19:16:39.995 info (24290) terminating http server on port 8081 admin.0 2020-12-22 19:16:39.992 error (24290) TypeError: Cannot set property 'source' of undefined at /opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6957:68 at /opt/iobroker/node_modules/iobroker.objects-redis/in admin.0 2020-12-22 19:16:39.986 error (24290) uncaught exception: Cannot set property 'source' of undefined JS-controller: 3.1.6 Node.js: 12.20 Habt ihr auch hier eine Idee?
  • Motioneye und IoBroker Curl

    blockly
    16
    0 Votes
    16 Posts
    785 Views
    W
    @haselchen Dankeschön, wünsche ich dir auch :)
  • Suche NFC APP

    communication
    5
    0 Votes
    5 Posts
    475 Views
    Jey CeeJ
    @Creator du könntest dir auch mit Tasker App Factory eine App Bauen. Die kann dann das was du willst bzw. Tasker eben ermöglicht. Einmal erstellen und auf anderen Geräten installieren Fertig.
  • 0 Votes
    6 Posts
    667 Views
    nik82N
    Hat sich erledigt, der neue Alexa Adapter kann "textCommand" somit kein Problem mehr :-)
  • XML

    javascript
    6
    0 Votes
    6 Posts
    286 Views
    ottoistgutO
    @ottoistgut said in XML: @arteck Ich habe kein plan von sowas. Kann mir einer helfen?
  • 0 Votes
    8 Posts
    1k Views
    tigertim08T
    @paul53 Danke! Stimmt °F bauch ich nicht wirklich habe ich gerade wieder rausgenommen ;)
  • Liste aller aktiven Scheduler

    javascript
    16
    0 Votes
    16 Posts
    2k Views
    H
    @paul53 nein nein, eh nicht. es war nur eine eher allgemeine frage
  • Abfrage des Batteriestatus

    javascript monitoring
    6
    0 Votes
    6 Posts
    956 Views
    paul53P
    @funcarv3r sagte: in Zeile 10 steht der break; Dann lass die Zeile weg.
  • Anfängerfrage: Eigener Alarmlogger

    javascript
    13
    0 Votes
    13 Posts
    594 Views
    S
    @UncleSam Hab mal so gelöst: /*************************************************/ // Globale Funktion, um Alarme auf dem vis auszugeben, im NAS zu loggen und auf dem Mobile (tts) auszugeben // Max 5 schnellfolgende Meldungen /*************************************************/ var sLog = new Array(5); var sTxt = new Array(5); var sDauer = new Array(5); var sInSay = new Array(5); var iMeldungSpanne=3000; // 3 Sek pro Meldung var LogenInVerzeichnis = "/home/pi/nas/history.csv"; // Text Datei auf NAS var URLSoundAusgabe = "http://192.168.1.147:50000/tts="; // Mobile im Wohnzimmer for (var i = 0; i < sLog.length; i++) {sLog[i] = "";} // Array sLog Initialisieren var vIntervall=null; // k.A. ob es wirklich nötig ist vIntervall=setInterval(function(){StringArrayAusgeben();}, iMeldungSpanne *5 + 200); // Endless loop, alle 15 Sekunden // Max 5 Meldungen vom Array sLog mit Zeitspanne 3Sek ausgeben // falls innert 15 sek > 5 Meldungen eintreffen, gehen die verloren function HistoryAnlegen(InText, InDauerText, InSay){ // sLog[i] synchron befüllen for (var i = 0; i < sLog.length; i++){ if(sLog[i]==""){ /***** Datum loggen, wenn es sich geändert hat ******/ var sLastHistoryDate=getState('0_userdata.0.Sicherheit.dLastHistoryDate').val; var sCurrentDate=formatDate(new Date(), "<B>JJJJ.MM.TT</B>"); if (sCurrentDate != sLastHistoryDate){ setState('0_userdata.0.Sicherheit.dLastHistoryDate', sCurrentDate, true); strTmp = sCurrentDate + "<br>"; } /***** den Text 'Offen Seit..." ermitteln ******/ var strTmp="" if (InDauerText + "" == ""){strTmp = strTmp + formatDate(new Date(), "<B> SS:mm</B>:ss") + " " + String(InText) + "<br>";} else{ if(InDauerText>59){ InDauerText=(InDauerText/60).toFixed(1); strTmp = strTmp + formatDate(new Date(), "<B> SS:mm</B>:ss") + " " + String(InText) + ", " + InDauerText + " Min. offen<br>"; } else{ strTmp = strTmp + formatDate(new Date(), "<B> SS:mm</B>:ss") + " " + String(InText) + ", " + InDauerText + " Sek. offen<br>"; } } sLog[i]=strTmp;sTxt[i]=InText;sDauer[i]=InDauerText;sInSay[i]=InSay;break; } } } async function StringArrayAusgeben(){ // Wird alle 15 Sek einmal aufgerufen for (var j = 0; j < 5; j++){ if(sLog[j]!="" ){ const result = await StringArrayAusgebenSub(sLog[j], sTxt[j], sDauer[j], sInSay[j], j);sLog[j]=""; // Alle 3 Sek eine Meldung ausgeben } } } function StringArrayAusgebenSub(InStrTimeStamp, InStr, InDauerText, InSay, InCounter){return new Promise(resolve => {setTimeout(() =>{ // Durchlauf: 3 Sek /***** Alarme am Handy aussagen, false InSay=true ******/ if (InSay && getState('0_userdata.0.Sicherheit.bAlarmIstScharf').val){request(URLSoundAusgabe + InStr.toLowerCase());} /***** Alarme in die LogDatei ergänzen ******/ wl(InStr, InDauerText); /***** Alarme im Objekt sAlarmLogHistory ergänzen ******/ InStrTimeStamp = InStrTimeStamp + String(getState('0_userdata.0.Sicherheit.sAlarmLogHistory').val); setState('0_userdata.0.Sicherheit.sAlarmLogHistory', InStrTimeStamp, false); resolve('resolved');}, iMeldungSpanne);}); } function wl(InText, InDauerText){ var fs = require('fs'); fs.appendFileSync(LogenInVerzeichnis, formatDate(new Date(), "DD.MM.YYYY") + ";" + formatDate(new Date(), "SS:mm:ss") + ";" + InText + ";" + InDauerText + "\n", 'utf8'); } Die echten Programmer mögen meine Art der Codierung verzeihen. Doch, es tut, was es tun muss. Kann sicher optimiert werden. Vor allem, die anfängliche 15 Sek Warterei kriege ich nicht heraus.
  • SMA SHM 1.0 / Sunny Portal auslesbar ?

    communication
    2
    0 Votes
    2 Posts
    148 Views
    UncleSamU
    @Humidor Kannst du nicht direkt per Modbus mit dem WR reden?
  • HM IP Thermostat mit Xiaomi Fenstersensor

    javascript blockly heating
    26
    1
    0 Votes
    26 Posts
    4k Views
    Meister MopperM
    @digitaldisplay sagte in HM IP Thermostat mit Xiaomi Fenstersensor: ich vermisse leider den Datenpunkt "Window_State" bei meinem Homematic Thermostat. Der Datenpunkt wird möglicherweise erst erzeugt, wenn das Thermostat mit einem HM-Fensterkontakt verknüpft ist.
  • Adapter mittels Scene Adapter ein- und ausschalten

    scenes
    4
    0 Votes
    4 Posts
    398 Views
    paul53P
    @Bobohne sagte: Wie müsste das Script dann aussehen um den Adapter zu steuern? Siehe in Doku Beispiel zu extendObject().
  • Verzögerung der Ausführung - Änderung des Wertes?

    blockly security
    2
    1
    0 Votes
    2 Posts
    204 Views
    paul53P
    @PatrickFro sagte: dass bei drücken des Knopfes die Sprachausgabe nicht stattfindet. [image: 1608380339606-blockly_temp.jpg] Wenn auf "ist größer als letztes" getriggert wird, kann man die Abfragen auf "Is open" und "Hold" sparen.
  • Deckenlampe Bad mit Bewegungssensor und Schalter betreiben.

    blockly
    5
    0 Votes
    5 Posts
    258 Views
    crunchipC
    @lustig29 Beschreibung ist insofern auf github bzw im Thread selbst, habe es jedoch selbst noch nicht getestet, verwende zur Zeit den Adapter Smartcontrol um einige Scripte abzulösen
  • [ Geklärt ] Wie kann ich Timeout Block umbenennen

    blockly
    8
    1
    0 Votes
    8 Posts
    314 Views
    A
    @paul53 Guten Morgen, Danke für die Berichtigung. Der Profi sieht den Unterschied sofort Jetzt hat die Umstellung auch geklappt. MichMein about 10 hours ago @Altersrentner musst Du dafür nicht erst eine Variable erstellen? Ist das so? Ich dachte es reicht in "Ausführen" Intervall einzutragen? Sonst würde ja in"stop zykl. Ausfrg. kein Intervall/2 zur Auswahl erscheinen: Gruß MIchael
  • (gelöst) javascript datenpunkt aktualisiert nicht

    javascript heating
    3
    2
    0 Votes
    3 Posts
    311 Views
    Phil IppP
    @paul53 oouff danke! klarer fall von problem vor dem bildschirm. du weißt gar nicht, wie oft ich die scripts doublechecked hatte Das Script hatte ich iwo im tado thread aufgeschnappt. Evtl etwas tado-spezifisches? Und da es den Dienst bisher sehr gut tat, habe ichs auch nicht mehr angefasst - never touch a running system und so ,)
  • MP3 Wiedergabe über Raspi?

    multimedia blockly scenes communication
    5
    0 Votes
    5 Posts
    249 Views
    Thomas BraunT
    @jhuebner1 Wobei ich die Steuerung der Echos hier bei mir als eigentlich absolut problemlos erlebe. Aber die bleiben für den Sound auch im eigenen Biotop, die spreche ich (in dem Zusammenhang) nicht über den ioBroker an.

606

Online

32.8k

Users

82.7k

Topics

1.3m

Posts