Skip to content

Skripten / Logik

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

16.6k Themen 213.6k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    D
    Danke habe ich gemacht. ( 1punkt) Die Objekt-ID "aktuell erzeugte Energie" wäre bei mir: Objekt-ID: 0_userdata.0.Charge_Control.Allgemein.IstPvErtragLM0_kWh plus Objekt-ID: 0_userdata.0.Charge_Control.Allgemein.IstPvErtragLM1_kWh (zusatz WR) wie kann ich das bewerkstelligen?
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    paul53P
    @Duffy sagte: Kannst du mir bitte saen warum das nicht geht? Nein, für das Verhalten der BWM habe ich keine Erklärung. @Duffy sagte in Licht geht nicht mehr aus nach austausch Steckdose -> Birne: sage Alexa Licht Arbeitsplatte aus Hast du dann die Küche bereits verlassen?
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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
  • Infos in Datei schreiben

    blockly communication
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    padrinoP
    @eubecker Also theoretisch solltest Du mit einem einfachen "echo" in eine Datei schreiben können, z.B. so [image: 1586371560203-echo2txt.png] Das Ergebnis auf dem Echo, auf dem das Skript läuft: [image: 1586371742171-txtindat.png]
  • [Gelöst] Zufallszahlen mit Blockly OHNE die Ziffer Null

    blockly
    14
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    B
    Das wird in eine SV geschrieben die von meiner Homematic CCU benötigt wird. Die ist schon als "Zahl" angelegt. Funktioniert soweit.
  • Status einer Zigebee Lampe ob eingeschaltet

    node-red communication
    3
    0 Stimmen
    3 Beiträge
    432 Aufrufe
    E
    @mech sagte in Status einer Zigebee Lampe ob eingeschaltet: Doch meine Frau möchte ihre Lampe auch immer noch per Hand ein/ausschalten. Besteht die Möglichkeit irgendwie den Status der Lampe einzufangen? Das ich ggf. wenn die Lampe physisch ausgeschaltet ist eine Nachricht ala "Die Lampe ist ausgeschaltet" darstellen kann. Mit "per Hand ein/ausschalten" und "Lampe physisch ausgeschaltet" meinst du das die Lampe keine Spannung mehr hat? Also du hast die Zigbee Lampe einfach in die Fassung gedreht und deine Installation so gelassen? Eigentlich müsste dann unter den Zigbee Adapter der "available" Datenpunkt auf "false" gehen oder nicht? Oder ist der zu träge? Aber macht es nicht mehr Sinn deinen Schalter "smart" zu machen? Dann kannst du vom Schalter und von der VIS die Lampe ein/aus schalten. EDIT: @arteck war schneller:blush:
  • Hue Lampen: einzeln oder Zimmer schalten?

    javascript blockly
    3
    0 Stimmen
    3 Beiträge
    318 Aufrufe
    ?
    Generell kann die Hue-Bridge nur eine gewisse Anzahl an requests gleichzeitig verarbeiten. Bei mir kann ich aber keinen Unterschied bei 5 Lampen einzeln vs. Raum in Hue feststellen. Hast Du mal getestet, ob der Raum bei Dir ein ähnliches Verhalten beim Schalten der Lampen zeigt?
  • [Vorlage] Roborock Gen1 - Einzelraumreinigung mit Valetudo

    javascript template
    26
    2 Stimmen
    26 Beiträge
    5k Aufrufe
    W
    @AlCalzone Vielen Dank für das Script bzw. die Idee, wie die Sache mit der gelegentlichen Kartenrotation gelöst werden könnte. Sieht spannend aus. Allerdings habe ich mit dem Script (Version 1) diverse Probleme, die ich noch gelöst bekommen muss: (0) Ich habe auch ein //@ts-ignore vor dem import axios from "axios"; gebraucht, damit das Script überhaupt läuft. OK. (1) Wenn ich den Sauger in einem Raum ohne die Dockingstation laufen lasse und danach auf die Station zurückstelle, enthält die letzte Karte keine Position "charger" und das Script hängt. Das Hängen kann ich programmatisch lösen, indem ich für charger und robot irgendwelche Werte vordefiniere, die dann überschrieben werden, wenn etwas zurückkommt. Ich weiß nur noch nicht, wie ich darauf sinnvoll reagieren könnte. Vielleicht kurz zum Saugen schicken und wieder heim, damit er die Karte neu aufbaut. Vielleicht reicht auch ein "Home"-Befehl. Muss ich noch ausprobieren. (2) Problematischer ist, dass die Funktion setStateAsync nicht zuverlässig funktioniert. function setStateAsync(id: string, state: any): Promise<void> { return new Promise(res => { setState(id, state, () => res()); }); } Nicht zuverlässig funktioniert heißt in dem Fall, es wartet nicht und dann erhalte ich als Kartenrotation für die Raumreinigung manchmal (meistens) -1 anstatt dem berechneten Wert. Das lässt sich auch lösen, indem ich den Wert nicht mit der Kombination aus function rememberMapRotation(rotation: number): Promise<void> { return setStateAsync(idMapRotated, rotation); //Funktioniert nicht zuverlässig } und function getMapRotation(): number { return getState(idMapRotated).val; } schreibe und wieder hole, sondern die Raumreinigung so starte: cleanRoom(room,await testMapRotation()); aber das kommt mir doch recht seltsam vor. Da kann man sich den zusätzlichen state ja gleich sparen. Und Du hättest es ja wohl nicht so gemacht, wenn es nicht eigentlich funktionieren würde. Was habe ich übersehen? Beste Grüße
  • Geofency und Webhook Frage

    monitoring communication
    1
    0 Stimmen
    1 Beiträge
    283 Aufrufe
    Niemand hat geantwortet
  • [Frage] Phyton über JavaScript starten

    Verschoben
    18
    0 Stimmen
    18 Beiträge
    7k Aufrufe
    C
    Hallo, bevor ich einen neuen Thread eröffne, möchte ich hier anknüpfen. Auch ich habe ein Python Script auf meinem Raspberry und ich bekomme das mit dem oben aufgeführten JavaScript zum laufen. Mein Skript startet einen Motor, bzw. ein Relais, und schaltet es nach 10 Sekunden wieder ab. Wenn ich den State auf True setze, wird auch ordentlich das Skript gestartet. (Als das geklappt hat, hab ich vor Freude fast den Schreibtisch umgeworfen, da ich mit Java vorher eigentlich noch nie was zu tun hatte). Kann ich den State auch automatisch von True auf False zurück ändern lassen? Hintergrund ist nun der, dass ich das Objekt in Vis mit einem Button verknüpft habe, und wenn ich den toggle, ändert sich der Status korrekter Weise auf True, aber da bleibt er dann auch. Ich könnte über den Button auch erst wieder auf False umschalten, aber ich fände es schöner wenn ich am Button auch sehen kann, dass der Vorgang am Motor nach 10 Sekunden beendet wurde. Vielen Dank im Voraus vg
  • Frage zu Timer

    javascript blockly
    8
    1
    0 Stimmen
    8 Beiträge
    301 Aufrufe
    Uli977U
    @Homoran Was hälst du hiervon? [image: 1586193136769-855b2f21-3bf7-454a-b8c8-5af4ef6330f9-image.png]
  • Fenster offen Meldung (Blockly)

    Verschoben
    24
    0 Stimmen
    24 Beiträge
    8k Aufrufe
    M
    Ich werde weiter testen
  • Timeout Zeit über VIS an variable übegeben

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    padrinoP
    @ErazorVIP Nur um das Thema komplett abzuschließen... =) Das geht mit Variablen in Blockly schon, aber die Einheit der Zeit muss. "ms" sein, mit "sek" und "min" geht es nicht. Soweit ich das sehe, liegt es daran, dass die beiden intern durch eine Formel mit "ms" ersetzt werden, was zu Problemen führt. :)
  • Zeitplan funktioniert nicht, spezifischer Intervall

    blockly javascript
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    M
    Hallo, so Problem gelöst. Ich habe für meinen alle 2 Wochen am Dienstag Intervall es einfach so gemacht es soll jede Woche am Dienstag schauen ob der Tag gerade oder Ungerade ist und je nachdem eine entsprechende Nachricht abgesetzt werden. schedule("30 17 * * 2", function () { if (parseFloat(formatDate(new Date(), "TT")) % 2 == 1) { sendTo("telegram", "send", { text: 'Hallo denk bitte an die Schwarze Mülltonne', user: 'FailX, Fabienne' }); console.error('test'); } else { sendTo("telegram", "send", { text: 'Hallo denk bitte an die Braune Mülltonne', user: 'FailX, Fabienne' }); } }); Grüße Monsterkiller PS: kann man hier Blocklys direkt einfügen oder geht das nur per Screenshot?
  • Dumme Frage..... Zeitplan

    javascript blockly
    4
    1
    0 Stimmen
    4 Beiträge
    247 Aufrufe
    Uli977U
    @simatec Stimmt, jetzt gehts! Danke dir!
  • ([gelöst]) Daten Sonnensystem Resol auslesen per VBUS

    Gesperrt Verschoben
    118
    0 Stimmen
    118 Beiträge
    33k Aufrufe
    DutchmanD
    Und damit schließe ich diese Thema, Script nicht mehr supported auf zum Adapter! :)
  • Skripte nach Gerätetausch anpassen

    Verschoben
    23
    0 Stimmen
    23 Beiträge
    3k Aufrufe
    I
    @paul53 Danke. So etwas habe ich gesucht. Händig etwas mühsam (Da ist die Lösung mit den Variablen einfacher), aber mit den Scripten wird es dann handlich.
  • Licht geht nicht aus

    javascript
    45
    1
    0 Stimmen
    45 Beiträge
    4k Aufrufe
    O
    Ups- Hab es korrigiert. Danke Dir !
  • Scriptausführung steuern (Intervallsteuerung)

    blockly
    4
    1
    0 Stimmen
    4 Beiträge
    293 Aufrufe
    T
    @R0bRakete Das hier wäre das was du möchtest. Es sperrt die Ausführung des Codes für eine Zeitspanne [image: 1585497308469-bildschirmfoto-2020-03-29-um-17.54.26.png]
  • Javascript: gefährliches Halbwissen + Syntaxprobleme = Frust

    javascript
    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    paul53P
    @e-s sagte: erst als ich unter instances den javascript adapter neu gestartet habe, waren die neuen da. Es ist ein bekanntes Problem, dass die Puffer der Javascript-Instanz nicht (immer) automatisch aktualisiert werden.
  • HM-LC-Bl1PBU welcher Parameter stellt an/aus

    blockly
    10
    1
    0 Stimmen
    10 Beiträge
    325 Aufrufe
    HomoranH
    @zgadgeter sagte in HM-LC-Bl1PBU welcher Parameter stellt an/aus: Nein, dann mach mal das Dummy-Programm auf der CCU und teste nochmal
  • Garage mit Alexa /Blockly steuern

    blockly
    3
    1
    0 Stimmen
    3 Beiträge
    677 Aufrufe
    D3ltoroxpD
    Sorry, das ich erst jetzt Rückmeldung gebe. Also deine Variante hab ich nicht so ganz verstanden. Ich habe aber nun anstatt "wurde geändert" auf wurde aktualisiert gestellt und seither bei meinen Tests, fuhr das Tor immer so wie ich das wollte. Ich beobachte weiter.
  • [gelöst]Eigene Tabelle samt Daten in den ioBroker übertragen

    Verschoben
    15
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    vollkrass6V
    wie sah die lösung deines cousins denn nun aus? ich suche nämlich etwas sehr sehr ähnliches bzgl gebetszeiten (sayit ausgabe) vg

706

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge