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
    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 Topics
    79k Posts
    HomoranH
    @Takahara sagte in Objekt ID auf Textinhalt prüfen // Current Radio Station: Wie kann ich den Textinhalt des Objektes "Current Radio Station" was immer "Textinhalt" sein soll, wäre vermutlich "Wert von"
  • 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
  • Doppelte Benachrichtigung bei Telegram

    blockly
    43
    2
    0 Votes
    43 Posts
    4k Views
    N
    @blizzardt vielleicht so [image: 1664452553131-106c28a0-a176-4dae-933d-c94aebaa5f53-grafik.png]
  • [Vorlage] Blockly heute/morgen frei zur Rollo-/Heizungsst.

    Moved blockly template
    24
    2
    1 Votes
    24 Posts
    6k Views
    rantanplanR
    @hotspot_2 sagte in [Vorlage] Blockly heute/morgen frei zur Rollo-/Heizungsst.: Hallo zusammen, ich habe bei mir dieses Skript auch installiert, und die Variable "morgen_frei" wird nicht initialisiert automatisch. Inititiert man die Variable z.B. manuell dann funktioniert das Skript einwandfrei aus meiner Sicht. Würde es Sinn machen es so abzuändern: [image: 1664278883252-1e2379d8-f8ca-4c85-a586-2ecfeeed8916-image.png] Ich meine das sollte hinhauen auch wenn morgen dann ein freier Tag wäre sollte der dann richtig gesetzt werden. Was meint ihr? Kann man so machen. Habe ich "damals" wohl übersehen. Ich würde die Abfrage eventuell ausserhalb des Triggers machen. Dann wird es nur einmal beim Script-Start ausgeführt. (Sorry für's aus der Versenkung holen, ich finde das Skript aber echt gut für einige Anwendungsfälle). Schön dass es gefällt :blush: Grüße
  • Skript für Klima funktioniert nicht.

    7
    3
    0 Votes
    7 Posts
    677 Views
    A
    @paul53 Super, guter Hinweis. Cool. Danke.
  • Skript ändert Logik bei Uhrzeitenwechsel nicht

    26
    1
    0 Votes
    26 Posts
    2k Views
    Z
    @paul53 kaum isit die Logangabe drin, läuft es. Komisch :dart: Wobei ich die Zeit auch auf 5 sek verkürzt habe. Werde die Tage noch einmal testen. Danke!!
  • Homematic Heizkörperthermostate gehen in Auto-Modus

    9
    0 Votes
    9 Posts
    504 Views
    Jens KatheJ
    @david-g Der Spaß es selbst zu machen ;-)
  • [Vorlage] Multi Ereignislisten Skript

    Moved javascript template
    112
    3 Votes
    112 Posts
    24k Views
    Martin BlankM
    @liv-in-sky Wow das nenn ich mal eine sehr gute Erklärung da. Ok dann werde ich es weiter mit dem Adapter versuch.
  • time-switch Adapter / Bedingung

    1
    0 Votes
    1 Posts
    202 Views
    No one has replied
  • Iframe2Image

    3
    0 Votes
    3 Posts
    329 Views
    H
    @djmarc75 VIelen DANK :-)
  • Skript schaltet selber um, obwohl Bedinung nicht vorhanden.

    5
    1
    0 Votes
    5 Posts
    179 Views
    stefu87_CHS
    @dr-bakterius Ok werde ich mal testen ob das besser funktioniert.
  • HTTP API Doorbird was läuft hier falsch.

    13
    0 Votes
    13 Posts
    1k Views
    B
    @mcu Lääääuft !!!!!!! Danke Danke Danke DANKE !
  • Shelly1 mit Shelly Motion und Alexa verbinden?

    1
    0 Votes
    1 Posts
    253 Views
    No one has replied
  • Aus History Adapter Mittelwert erhalten

    javascript
    4
    0 Votes
    4 Posts
    627 Views
    Andre WippichA
    Danke Euch!
  • Blockly: auf Werte einer Liste zugreifen

    blockly
    24
    1
    0 Votes
    24 Posts
    12k Views
    Stephan SchleichS
    @paul53 Danke Paul, 1 Sekunde Pause direkt nach dem Trigger hat das Problem gelöst, sehr komisch und unverständlich für mich, aber läuft wieder :+1:
  • MQTT get und set anlegen für zigbee2mqtt

    8
    0 Votes
    8 Posts
    1k Views
    Q
    da ich bei mir die einzelnen attribute und kein komplettes json ausgeben lasse, hat mir das hier nicht wirklich weitergeholfen, aber schon ein wenig inspiriert. hier mal mein erster schnellschuss - bisher funktioniert alles, kann aber sicher noch etwas verbessert werden (datentyp, min/max-werte): const mqtt = "mqtt.0"; const topic = "zigbee2mqtt"; const zigbee2mqtt = mqtt +"."+ topic; const doNotGenerateSetStates = ["update-state", "availability", "linkquality"] const doNotOverwriteExistingObjects = false; var devices = JSON.parse(getState(zigbee2mqtt +".bridge.devices").val); devices.forEach(device => { if (device.friendly_name.length > 0) { var device_name = device.friendly_name.replaceAll("/", ".") console.log(device_name) //console.log({device}) if (device.type.toLowerCase() === "router") { console.log("ist router") var datapointBase = zigbee2mqtt + "." + device_name; if (existsObject(datapointBase)) { console.log(datapointBase + " existiert") var getPoints = $('[state.id=' + datapointBase + '.*]') //console.log({getPoints}) getPoints.each(function (id, i) { if (existsObject(id)) { var attribute = id.split('.').pop(); if (doNotGenerateSetStates.includes(attribute.toLocaleLowerCase())) { console.log("--ABBRUCH: " + attribute) return; } var setMqttPath = topic + "/" + device.friendly_name + "/set/" + attribute; var setId = datapointBase + ".set." + attribute; if (existsObject(setId) && doNotOverwriteExistingObjects) { console.log("--ABBRUCH (existiert bereits): " + attribute) return; } var attributeSpecs = device.definition.exposes.find(data => data.hasOwnProperty('features')).features.find(data => data.name === attribute); if (attributeSpecs === undefined) { attributeSpecs = device.definition.exposes.find(data => data.name === attribute); } //console.log(attributeSpecs) var getObj = getObject(id); getObj._id = setId; getObj.common.name = setMqttPath; getObj.native.topic = setMqttPath; if (attributeSpecs?.value_min != undefined) { getObj.common.min = attributeSpecs.value_min; } if (attributeSpecs?.value_max != undefined) { getObj.common.max = attributeSpecs.value_max; } if (attributeSpecs?.unit != undefined) { getObj.common.unit = attributeSpecs.unit; } setObject(setId, getObj, function (err) { if (err) console.error('Cannot write object: ' + err); }); console.log(setId) } }); } } } }) und das ergebnis: [image: 1663745698723-11798552-73cb-4280-a4da-507c4819625f-image.png] edit: ich war etwas ungehalten und habe min, max und unit schon hinzugeügt. mehr werte kann man ja bei bedarf analog dazu auslesen. als nächstes kommt dann noch ein alias datenpunkt, der entsprechend read und write datenpunkte vereint.
  • [gelöst]Zufällige Zahl generieren

    19
    1
    0 Votes
    19 Posts
    491 Views
    J
    @paul53 das wars!Perfekt! Danke Dir! Schade, dass ich es nicht verstehe aber trotzdem vielen Dank dafür! Liebe Grüße Jürgen
  • Homatik Ip Heizkörper Thermostat

    17
    1
    0 Votes
    17 Posts
    1k Views
    paul53P
    @raspberrypi sagte: Ich weiss Gloss nicht ob sowas überhaupt geht ??? Funktioniert das Skript nicht? Vorher natürlich erst den Datenpunkt für den Mittelwert erstellen! Dann nach Skriptstart warten, bis ein Ventil seine Position ändert.
  • Zeitstempel in Homematic Systemvariable als Uhrzeit

    14
    1
    0 Votes
    14 Posts
    1k Views
    paul53P
    @alf4711 Damit kann niemand etwas anfangen. Exportiere mal das Blockly und poste den Export in Code tags (oben </>).
  • PRTG mit WLED status meldung

    1
    0 Votes
    1 Posts
    92 Views
    No one has replied
  • [gelöst] Edimax WLAN Steckdose schalten

    Moved
    13
    0 Votes
    13 Posts
    4k Views
    S
    @hg6806 Ich bin der Anleitung https://github.com/mwittig/edimax-smartplug/issues/17 gefolgt und der Befehl im telnet "nvc all" hat dann auch so infos Run.FW.Version=3.00c oder Device.Configuration.HW.ModelName=SP2101W_V2 ... diese Werte sind von mir natürlich... Das Passwort so herausfinden ist sehr mühsam - aber muss man ja nur einmal machen.... Das ganze per "curl" abholen ist da schon schlimmer. Ich verwende gerade den Adapter "linux-control" um den curl Befehl auf einem SSH server auszuführen - ich hoffe es gibt bald eine bessere Möglichkeit. Ich habe aber weder einen EdiMax Adapter, noch einen einfachen HTTP adapter gefunden der dieses XML schicken und parsen könnte.
  • [Script] Eieruhr

    Moved javascript
    21
    0 Votes
    21 Posts
    6k Views
    K
    erledigt.

782

Online

32.7k

Users

82.4k

Topics

1.3m

Posts