Weiter zum Inhalt

Skripten / Logik

16.6k Themen 214.3k 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
    G
    Ich habe einen Akku für mein Bosch EBike mit 650 Wh. Es gibt die Empfehlung Akkus immer zwischen 20% und 80% Ladezustand zu halten um die Lebensdauer maximal zu halten. Den unteren Wert zu beachten ist relativ einfach, das wird am Kiox ständig angezeigt. Aber dann steckt man den Akku ans Ladegerät und müsste ständig vorbeischauen um nicht zuviel zu laden. Ich habe mir das jetzt automatisiert über eine MEROSS smarte Steckdose. Die zeigt die abgegebene Energie ja pro Tag an. Ich habe nun dazu ein Script und Eingriffsmöglichkeit über VIS. Das Script springt an, wenn ich das Ladegerät in den MEROSS Stecker stecke. Es setzt als Anfangswerte die Kapazität auf 650Watt, den IST-Ladezustand auf 20% und den Soll Ladezustand auf 70%. Das heißt umgerechnet, um den Soll-Ladezustand zu erreichen, müssen 325Wh geladen werden. Das wird über das Script erreicht, in dem es jede Minute die abgegebene Energie an der Steckdose prüft. Ich kann als einfach einstecken und laden, und muss nichts weiter machen, um nicht zu voll zu laden. Ob ich da von 10% auf 60% oder 30% auf 80% lade ist mir meist egal. Über VIS kann ich den IST-Ladezustand und den SOLL-Ladzustand des Akkus ändern. Das wird vom ersten Script berücksichtigt. So kann ich also auch gezielt gewünschte Werte erreichen. Das Ganze hatte ich selber schon mal zeitgesteuert gemacht. Das Ladegerät läuft (meist) mit einer Leistung von 175Watt. Daraus hatte ich mir dann errechnet wie lange ich brauche, den gewünschten Ladezustand zu erreichen. Das ist aber denkbar ungenau, weil die Ladekurve in Wirklichkeit nicht linear ist. Erst jetzt mit der MEROSS-Messung kann ich richtig zielen. Das neue Script habe ich mir komplett mit der KI "Claude" erstellen lassen. Da ist nicht eine Zeile von mir. Ich bin begeistert (und erschüttert). akku_ladesteuerung.ts
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    Murphy 0M
    @martin_1705 Auf diese Art reduziere ich die Anzahl der Steuerimpulse und das System läuft seit Monaten störungsfrei. Es geht mir auch um die Haltbarkeit des Wechselrichters. 30 Watt zu verlieren bedeutet im Monat je nach Strompreis 3 bis 4 Euro.
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Themen
    13k Beiträge
    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
  • Helligkeitsabhängiges Script

    javascript blockly
    19
    0 Stimmen
    19 Beiträge
    608 Aufrufe
    C
    ihr habt beide Recht - und ich 2 dinge vermischt! ich versuche jetzt beide von Euch vorgeschlagenen Scripte und möchte mich sehr herzlich bedanken! :-)
  • Wake on lan mit vis und button

    javascript
    6
    0 Stimmen
    6 Beiträge
    899 Aufrufe
    JohGreJ
    Bitte schön on('javascript.1.VIS.wakeOnLan', function (obj) { var wol = require('wake_on_lan'); if ( obj.state.val ) { log('wakeOnLan: ' + obj.state.val) if ( !getState('radar2.0.Synology._here'/*Synology here*/).val) { wol.wake('xx:xx:xx:xx:xx:xx'); } else if (getState('radar2.0.Synology._here'/*Synology here*/).val) { setTimeout(function(){this.shutDownNAS;},10*1000); } setState("javascript.1.VIS.wakeOnLan",false); } }); function shutDownNAS() { var SSH = require('simple-ssh'); var ssh = new SSH({ host: 'ip.ad.re.ss', port: 21, user: 'SSH-User', pass: 'SSH-User Passwort' }); log('shutDownNAS'); ssh.exec('echo "SSH-User Passwort"|sudo -S shutdown -h now').start(); } [image: 1581156394980-a898b978-8a76-481d-99d3-99aa2904a9b9-grafik.png]
  • PS4-Waker NPM Modul, Hilfe benötigt

    javascript blockly
    2
    0 Stimmen
    2 Beiträge
    352 Aufrufe
    S
    @kimbel55 Habe dir hier geantwortet: https://forum.iobroker.net/topic/13749/gelöst-ps4-waker-npm-modul-von-github-installieren-tv-via-hdmi-cec-einschalten/37
  • 0 Stimmen
    37 Beiträge
    9k Aufrufe
    S
    Hi @kimbel55 , ich habe genau das gleiche Problem wie du und habe gefühlt alle Beiträge, die ich zu dem Thema im Internet gefunden habe, 100 mal gelesen. Auch im issue thread (https://github.com/dhleong/ps4-waker/issues?q=is%3Aissue+is%3Aclosed) auf GitHub war nichts Brauchbares dabei... Egal auf welche Weise ich den ps4-waker installiert und das NPM-Modul in JS eingebunden habe, war auf meinem Pi nie die cmd.js bzw. das /bin Verzeichnis zu finden. Im JSScript liefert mir der getDeviceStatus code auch alles ordnungsgemäß zurück, aber starten oder stoppen geht nicht. [image: 1581121907040-ed5df4a5-4b2f-4510-a952-54c3f65c6a40-image.png] Auch der exec command klappt nicht und es sieht wie bei euch aus. Über die Konsole vom Pi klappt es aber mit den einfachen commands "npx ps4-waker", "ps4-waker", "ps4-waker standby". Leider ließ sich ein simples Shell script mit dem Aufruf nicht sofort in iobroker einbinden und musste etwas tüfteln. Jetzt habe ich aber eine robuste und zuverlässige Lösung für die Einbindung in Alexa gefunden, die sogar echt fix die PS4 per Sprachbefehl startet und in standby schickt. Es führen ja bekanntlich viele Wege nach Rom, aber bei mir klappt es nun mit folgendem Umweg: 1. PS4Switch in Node-RED Alexa Home Skill Bridge (https://alexa-node-red.bm.hardill.me.uk/devices#) anlegen [image: 1581120360930-8965d3d9-95dd-435d-bc06-4def1fe989e3-image.png] 2. PS4StateSzene in ioBroker anlegen wird getriggerd von PS4Switch (alexa) [image: 1581120450946-6206cc88-0952-4618-b3fc-52b5ba268a20-image.png] 3. Blocky Script für On | Off temp files wird getriggerd von PS4StateSzene erzeugt eine temporäre On oder Off datei im filesystem cat >> /opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/On cat >> /opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/Off [image: 1581120503162-52ae0df4-3c95-4f3d-bbc1-d28a5dee2358-image.png] 4. ps4-waker-monitor.sh Script erstellen Prüft dauerhaft ob eine On oder Off Datei erstellt wurde Falls ja wird der ps4-waker Befehl ausgeführt und die Datei gelöscht Rechte: [image: 1581120676035-dddbaf56-9648-44de-a2b5-ce4c16e98133-image.png] #!/bin/bash # set n to 1 n=1 # continue until $n equals 5 while [ $n -le 50 ] do file1="/opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/On" file2="/opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/Off" if [ -f "$file1" ] then echo "Try to start PS4 - $file1 found." sudo rm $file1 ps4-waker sleep 5.0 else #echo "Nothing to do, $file1 not found." sleep 0.1 fi if [ -f "$file2" ] then echo "Try to stop PS4 - $file2 found." sudo rm $file2 ps4-waker standby sleep 5.0 else #echo "Nothing to do, $file2 not found." sleep 0.1 fi sleep 0.5 done 5. ps4-waker-monitor.sh Script schedulen hiermit wird das script automatisch bei jedem Neustart ausgeführt. sudo crontab -e @reboot [Pfad/zum/Befehl] Es gibt bestimmt elegantere Lösungen, aber ich bin hiermit wirklich glücklich. Bin jetzt komplett von der ioBroker Cloud zu Node-RED umgestiegen und bin begeistert. Der ioBroker Cloud und IoT Adapter war bei mir leider nie so richtig zuverlässig in Verbindung mit Alexa. Meine Lösung für den ps4-waker wäre damit gelaufen, aber sicherlich mit großer Verzögerung. Jetzt wird aber nachdem ich den Sprachbefehlt abgesetzt habe, der Befehl nach ca. 5 Sekunden an die PS4 gesendet. :)
  • Zeichenfolge Parsen

    javascript
    17
    0 Stimmen
    17 Beiträge
    518 Aufrufe
    T
    [0-9]+(?= Minuten")
  • Taster press short or long mit blockly

    Verschoben
    39
    0 Stimmen
    39 Beiträge
    9k Aufrufe
    saintheinS
    Bekommt das ganze auch mit einem Tradfri On/Off Taster gebacken? Dimmen läuft, nur an und aus mit kurzem Tastendruck läuft nicht.
  • Skripte durchsuchen

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    siggi85S
    Ich habe nun den Java Script Adapter von 4.1.14 auf 4.3.4 geupdatet. Durch folgenden Eintrag in den Release Notes hatte ich Hoffnunge, dass es danach funktioniert 4.3.3 (2019-10-28) (bluefox) Search in scripts was corrected Leider ist das Verhalten jedoch unverändert. @Bluefox Da du anscheinend bereits einen Fehler im Suchverhalten gefixt hast, hast du eine Idee warum die Suche in meinem Fall nicht funktioniert? Ist das ggf. ein weiterer Fehler? hier mein Beitrag mit der Fehlerbeschreibung EDIT: Node.js v10.19.0 NPM 6.13.4
  • Gelöst: Warum wird dieses Skript bei Neustart ausgeführt?

    blockly
    17
    1
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    padrinoP
    @lemonbiter Darauf hab' ich doch oben auch schon hingewiesen. :D @padrino sagte: Außerdem, Du vergleichst einmal auf "=0" und einmal auf ">=0", es wird also im Fall von "0" beides "wahr" sein.
  • Szene in an mehreren Stellen verwenden

    scenes
    5
    1
    0 Stimmen
    5 Beiträge
    384 Aufrufe
    D
    alles klar - Danke
  • if-Abfrage mit Zahl

    blockly
    16
    1
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    D
    @Asgothian: super, vielen Dank für die Mühe!
  • Wasserzähler Zähler

    javascript communication blockly
    6
    0 Stimmen
    6 Beiträge
    837 Aufrufe
    O
    Nochmal kurze Rückmeldung! Das funktioniert so wie gewünscht. Danke
  • Abfolge von Befehlen

    scenes
    47
    0 Stimmen
    47 Beiträge
    2k Aufrufe
    TG70T
    Hallo, ich verwende nun den o.g. "Taster" für die Steuerung von Szenen, aber auch für die Ausführung von Homematic Programmen. Funktioniert wirklich gut. [image: 1581012250634-99442ba8-0151-4c75-b4f4-fe136d4d3996-image.png] Nur habe ich immer noch das Problem, dass man nicht weiß, ob ich die Taste nun auch gedrückt habe oder nicht. Ich habe es nun auch damit versucht, aber das geht wohl als Taster ohne "Stil" nicht: [image: 1581012214987-be1555aa-6138-4dfc-849f-66abd67cf62c-image.png]
  • [gelöst]BING - Bild des Tages

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    919 Aufrufe
    BostilB
    @Werde45 Wie hast du den generierten Link denn nun als Hintergrundbild in deinem VIS eingebunden? Ansonsten schonmal cool programmiert ... Danke! :-)
  • Aktuelle Eisntellungen in Szene übernehmen

    scenes
    1
    1
    0 Stimmen
    1 Beiträge
    149 Aufrufe
    Niemand hat geantwortet
  • Pumpe für x Minuten einschalten

    blockly
    14
    0 Stimmen
    14 Beiträge
    962 Aufrufe
    D
    Danke ;-)
  • pushover message zu bestimmter zeit

    javascript
    3
    0 Stimmen
    3 Beiträge
    206 Aufrufe
    D
    super. vielen Dank. ;)
  • Alexa Mikrofon aus bei Abwesenheit

    blockly javascript
    4
    0 Stimmen
    4 Beiträge
    666 Aufrufe
    padrinoP
    Ich vermute mal, eher nicht. Könnte gut sein, dass Amazon es als Sicherheitsfeature sieht, dass dies nicht per Software steuerbar ist. Aber vielleicht findet sich ja doch noch ein findiger, gutmütiger Hackerkopf. ;)
  • [Frage] Alexa - Mikrofone des Gerätes ausgeschalten

    javascript blockly communication
    5
    0 Stimmen
    5 Beiträge
    989 Aufrufe
    padrinoP
    @Michael2142 Nein, das geht leider nicht. Es bliebe da nur ein Eingriff in die Hardware, wie z.B. diese.
  • Lichter zählen Script geht leider nicht :(

    javascript
    2
    0 Stimmen
    2 Beiträge
    208 Aufrufe
    T
    Hallo, var name; name ist schon deklariert als const string und enthält den Namen des aktuellen Skripts. das ist aber nicht der Auslöser des Fehlers... zumindest bekomme ich keinen Fehler bei meinen Versuchen. Verwende eine andere Variable und guck mal mit console.log(sname); was drin steht.
  • gelöst: mysql query liefert falsche Werte bei Datum < xy

    javascript
    6
    0 Stimmen
    6 Beiträge
    415 Aufrufe
    OliverIOO
    @hanss die suchparameter muss die datenbank allerdings schon einhalten. wenn dann bei der ergebnissumme dann mehr wie ein wert übrigbleibt ist in der tat bei limit der konkrete datensatz zufällig (bzw. hängt von der organisation der daten durch die datenbank ab)

532

Online

32.8k

Benutzer

82.7k

Themen

1.3m

Beiträge