Skip to content

Skripten / Logik

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

16.6k Topics 213.6k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    A
    @Dave69-CH sagte in E3DC Hauskraftwerk steuern: Oder was hast Du da reingemacht? Die Objekt iDs haben sich geändert. Ist aber bereits länger her, weiß schon gar nicht mehr, mit welcher Version :-) Das sollte jetzt so aussehen: [image: 1771696284744-3e7b5969-f68c-4ea4-ac9d-95dc36c01efd-grafik.png] Im Editor den Text und die Objekt-ID 0_userdata.0.Charge_Control.Allgemein.EigenverbrauchDurchschnitt eintragen, dann sollte es wieder stimmen. Prüfe auch die Objekt-ID "aktuell erzeugte Energie" dort sollte die Objekt-ID 0_userdata.0.Charge_Control.Allgemein.IstPvErtragLM0_kWh eingetragen sein.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    paul53P
    @13patrick37 sagte: Habe es jetzt so gemacht: Der Trigger auf die Szenen muss auf "ist wahr" reagieren. Wert und manuellein müssen anders ausgewertet werden. [image: 1771708375656-blockly_temp.jpg] @13patrick37 sagte in Beleuchtungssteurung//Zeit + Präsenzmelder: die Szenen, auf welche ich trigger, sollten vermutlich nicht die sein, die der BWM auslöst, oder? Es sollten die Szenen sein, die manuell aktiviert werden sollen. @13patrick37 sagte in Beleuchtungssteurung//Zeit + Präsenzmelder: "Abschalten" ist einfach eine Hue Szene Poste mal die komplette ID einer Szene für die Bildung eines Selektors, der alle Szenen eines Raumes erfasst.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • Keine Änderungen in Scipts möglich

    13
    1
    0 Votes
    13 Posts
    1k Views
    crunchipC
    @berndroid sagte in Keine Änderungen in Scipts möglich: Beim Umzug der VM scheint ne Menge kaputt gegangen zu sein. was soll denn kaputt gehen, wenn du eine neue VM anlegst, iobroker installierst und dein backup zurück spielst, muss dieser natürlich aufgrund nodejs v18, neu gebaut werden. Es kann durchaus möglich sein, in speziellen Fällen, das der rebuild nicht funktioniert, diesbezüglich bekommt man im log Meldung und muss selbst Hand anlegen. Zu deinem Javascript Problem, wie eingangs erwähnt, du der Meinung bist, das dies erst aufgrund eines Umzugs entstanden ist, läuft möglicherweise ein script nicht korrekt(Ip Adresse irgendwo in Verwendung?)
  • Import vom Backup meiner Skripte im JS Adapter schlägt fehl

    10
    0 Votes
    10 Posts
    547 Views
    S
    @crunchip Damit könntest du recht haben
  • Astro-Trigger mit Versatz funktioniert nicht

    blockly
    10
    3
    0 Votes
    10 Posts
    2k Views
    A
    @basic80 said in Astro-Trigger mit Versatz funktioniert nicht: Mithilfe eines Testskripts habe ich inzwischen herausgefunden, dass bis 02:00 Uhr alles funktioniert. Wenn Golden hour-Ende minus x < 02:00 Uhr, wird der Trigger wohl ignoriert. [image: 1597213641959-goldenhour-test-log3.jpg] Um sicherzustellen, dass der Astrotrigger (mit Offset) wirklich nur bis 02:00 Uhr funktioniert und es keine andere Ursache gibt, wäre es schön, wenn jemand das mal testen könnte. Der Thread hier ist zwar schon uralt, aber ich bin gerade bei meinen eigenen Recherchen zum Astro-Trigger darüber gestolpert. Ich habe für das Verhalten eigentlich nur eine Erklärung: Bei der Berechnung der Datumsgrenze, also der Frage, ob der Triggerzeitpunkt auf dem heutigen oder dem gestrigen Tag liegt, wird intern die lokale Uhrzeit auf UTC umgerechnet. Da dein Beitrag aus dem Sommer stammt, dürften sich deine Zeitangaben also nach UTC+2 richten. Das bedeutet, dass "vor 2:00 Uhr" bei dir "vor 0:00 Uhr" nach UTC heißt. Ich teste jetzt mal selbst ein bisschen mit dem Astro-Trigger, um das zu verifizieren.
  • 0 Votes
    6 Posts
    1k Views
    R
    @paul53 Zähler kommt alle 5 bis 10 sekunden, und das skript schaut ja alle 15 sekunden. ich vermute das das skript das negative vorzeichen irgendwie wegnimmt
  • Sun 1000 g2 WR im iobroker

    blockly javascript
    4
    0 Votes
    4 Posts
    511 Views
    G
    @mymeyer Das kann ich Dir nicht sagen, am Besten mal in den einschlägigen Foren gucken, oder den Entwickler selbst anschreiben. Ich nutze den Lunentree mit Trucki´s Platine, Läuft. Oder Du guckst mal bei Christian auf YT und stellst ihm einfach die Frage, wenn es einer weiss, dann er ;-) Hab grade mal geguckt, da muss dann noch eine Platine mit eingebaut werden, dann ist er kompatibel--> siehe github trucki-eu
  • VSCode Deklarationsfehler

    4
    0 Votes
    4 Posts
    382 Views
    T
    @oliverio sagte in VSCode Deklarationsfehler: @oberst_von_gatow https://codingbeautydev.com/blog/typescript-cannot-redeclare-block-scoped-variable/?utm_content=cmp-true Danke, das gefällt mir deutlich besser. gibts auch einen Weg um diesen "Fehler" zu entfernen: onStop(function (callback:any) { stop1 = true; callback(); }, 2000 /*ms*/); callback() wird als möglicherwiese nicht definiertes Objekt angezeigt. Ja gibts... einfach definieren, kaum hab ich die Frage gestellt, schon fällt mir die Antwort ein.
  • FEHLER: Cannot extract Blockly code

    12
    1
    0 Votes
    12 Posts
    852 Views
    crunchipC
    @shigi76 sagte in FEHLER: Cannot extract Blockly code: das kann ich gar nicht genau sagen.. du musst doch wissen ob diese Adapter installiert sind, falls etwas im blockly verwendet wird was aber nicht vorhanden ist, verursacht dies Probleme
  • json nach iobroker übertragen

    8
    0 Votes
    8 Posts
    572 Views
    haus-automatisierungH
    @arteck Das kann sein, der Adapter wird ja auch nicht mehr so richtig gepflegt soweit ich weiß. Ich nutze zumindest nur noch rest-api.
  • Unhandled promise rejection

    14
    2
    0 Votes
    14 Posts
    371 Views
    T
    Vielen Dank für die schnellen Rückmeldungen. Mit der 7.0.3 läuft wieder alles. Warum ich da nicht selbst drauf gekommen bin, weiß ich jetzt auch nicht. Wahrscheinlich verläuft man sich halt irgendwann. Hoffentlich muß ich jetzt nicht mein Zertifikat beim Matthias wieder abgeben :-):laughing: Danke!
  • [gelöst] Meteohub Daten, XML parsen, JSON durchsuchen

    javascript
    43
    0 Votes
    43 Posts
    5k Views
    T
    @steinche sagte in [gelöst] Meteohub Daten, XML parsen, JSON durchsuchen: ersetzt. "Problem" selbst gelöst und autodidaktisch den Zahlenbereich bis 20 erschlossen :) https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#best-practice als referenze
  • Steckdose mit 2 Datenpunkten für on off

    31
    3
    0 Votes
    31 Posts
    3k Views
    MartinPM
    @vazi Ich bin selber blockly rookie, sorry - bevor ich Dir etwas falsches Mitgebe Man muss sehen, ob man den Zustand, den die Steckdose hat irgendwo braucht. Wenn das nicht nötig ist, dann kann man ja auch einfach die AN bzw AUS Pulse auch einfach so auslösen Hier habe ich einen Puls ausgelöst ( 35 Sekunden Tauch-Pumpe im Regenfass an, um die Tomaten zu wässern) Hängt aber an einem Zeitplan. Man könnte da vielleich einen Datenpunkt in Userdata anlegen, den man setzen und löschen kann. Der könnte dann statt des Zeitplans Auslöser der beiden Aktionen die der Zeitplan klammert sein.. Man braucht natürlich einen Puls zum Setzen und einen Puls zum Löschen ... [image: 1691164374282-90b05bc7-885d-43af-9074-63fa0cb8ff98-grafik.png]
  • Abfrage Verfügbarkeit Zigbee Schalter

    7
    0 Votes
    7 Posts
    700 Views
    T
    @ticaki ixh nutze den Zigbee Adapter, nicht Zigbee2Mqqt. Ujd bei meinem Adapter habe ich nichts gefunden, um den Wert anzupassen
  • [gelöst] Namen der Datenpunkte ändern

    5
    0 Votes
    5 Posts
    575 Views
    S
    @paul53 das wusste ich nicht. Nun geht es. Wunderbar, vielen Dank!
  • Dynamische Stromtarife (tibber) sinnvoll nutzen

    8
    0 Votes
    8 Posts
    2k Views
    F
    @reblausgt Danke schaue ich mir auf jeden Fall einmal an.
  • Blockly für Meldung wenn Trockner fertig

    6
    0 Votes
    6 Posts
    472 Views
    G
    @timowald [image: 1690965046665-bildschirmfoto-2023-08-02-um-10.30.21.png] Ist zwar eine Waschmaschine aber das Ergebnis ist ja das gleiche. Den Punkt Waschmaschine(Trockner) fertig musst du dir selbst anlegen, rest sind Standard Komponenten vom Shelly, Alexa und Telegram Adapter...
  • Erledigt:Dateiname mit Datum

    javascript
    4
    0 Votes
    4 Posts
    129 Views
    M
    @bahnuhr sagte in Dateiname mit Datum: var name= formatDate(new Date(dp), "TT-MM-JJJJ-hh-mm-ss") Hallöchen, war der body....jetzt klappt es. var request = require('request'); var fs = require('fs'); const idKlingel = "zigbee.0.00158d000476bce8.opened" on({ id: idKlingel, val: true }, function (dp) { request({ url: "http://192.168.188.xxx:2323/?cmd=getCamshot&password=xxxx", encoding: null, }, (error, response, body) => { if (!error && body) { var name= formatDate(new Date(dp.state.ts), "TT-MM-JJJJ-hh-mm-ss") name="gthrn"+name+".jpg" log (name) //writeFile("vis.0","/tablet/gthrn.jpg", body); ohne Datum/Zeitangabe im Namen writeFile("vis.0","/tablet/"+name, body); } } ); });
  • exec mit sudo

    security javascript
    6
    0 Votes
    6 Posts
    874 Views
    M
    Today I learned a thing - or 2. Danke schonmal für eure Antworten. Dokumentation / Minimum Working Example für die Nachwelt: Ich habe ein test script "reboot" gebaut, das einfach nur einen Reboot durchführen soll. #!/bin/bash echo "sudo shutdown -r now" sudo shutdown -r now Das Script liegt in /opt/iobroker/. Mein JavaScript lautet: exec('sudo /opt/iobroker/reboot', function (error, stdout, stderr) { console.log('stdout: ' + stdout); console.log('stdout: ' + error); }); Über das Kommando sudo visudo -f /etc/sudoers.d/iobroker habe ich in /etc/sudoers.d/iobroker folgende neue Zeile ergänzt iobroker ALL=(ALL) NOPASSWD: /opt/iobroker/reboot Auf Basis von @ticaki Hinweis, habe ich dem Script noch die Lese-Rechte entfernt (schreiben konnte es schon vorher nicht) mit dem command sudo chmod 751 reboot pi@iobroker-pi: $ ls -l /opt/iobroker -rwxr-xr-x+ 1 pi pi 388 Jul 30 10:36 reboot pi@iobroker-pi: $ sudo chmod 751 /opt/iobroker/reboot pi@iobroker-pi: $ ls -l /opt/iobroker -rwxr-x--x+ 1 pi pi 388 Jul 30 10:36 reboot Ich habe sicherheitshalber iobroker neu gestartet, damit die neuen Einträge auch wirklich neu eingelesen werden. Nun wird das Skript ausgeführt. Danke euch!
  • Vesync button lässt sich nicht konfigurieren

    1
    0 Votes
    1 Posts
    114 Views
    No one has replied
  • Telegram Menue Button wird nicht mehr angezeigt

    10
    0 Votes
    10 Posts
    1k Views
    T
    @maxpd Ich weiß ja nicht wieso die nicht angezeigt werden, jedoch wenn ich bei mir nach unten wische verschwindet die Tastatur und die Buttom erscheinen.
  • Telegram Fehler nach App Wechsel

    javascript
    7
    0 Votes
    7 Posts
    844 Views
    S
    @adnim sagte in Telegram Fehler nach App Wechsel: sendTo('telegram.0', { Hi könntest du mir erklären, wie du das mit dem Telegram Menu mit den verschiedenen Benutzern gemacht hast? Was muss ich da einfügen bei mir und ändern? Vielen Dank vorab. EDIT: Hat sich erledigt :)

599

Online

32.7k

Users

82.4k

Topics

1.3m

Posts