Skip to content

Skripten / Logik

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

16.6k Topics 213.8k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    OliverIOO
    @jwerlsdf so hier mal noch eine bessere version bitte prüfe nochmal Zeile 4 ob du dort auch das apitoken aus dem omlet portal eingetragen hast. wenn die Anmeldung mit dem skript funktioniert, sollte es auf der konsole einmal die liste aller devices ausgeben wenn wir daraus die id der tür ablesen können, können wir die in zeile 8 eintragen und nach einem erneuten start sollte sich die tür öffnen. (zeile11) const { createOmlet } = require('smartcoop-sdk'); async function main() { const omlet = await createOmlet('apitoken'); //hier den api token aus dem omlet portal eintragen const devices = await omlet.getDevices(); console.log("Devices:"); console.log(devices); // gibt alle devices aus const device = await omlet.getDeviceById('deviceid123456'); // hier ist aktuell auch noch ein dummy drin, den müssen wir dann aktualisieren wenn wir die liste der devices haben. const openAction = device.getActions().find((action) => action.name === 'open'); //sucht die open aktion im device if (openAction) { // falls die gefunden wurde await device.action(openAction) //wird die aktion dann hier ausgeführt } } main();
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    HomoranH
    @Kusselin sagte in Wie füge ich hier drei weitere Felder ein -> roter Pfeil?: dann rundet er die Kilowatt um 20 Uhr auf volle auf..richtig? nein, nicht richtig! sagte in Wie füge ich hier drei weitere Felder ein -> roter Pfeil?: gerundet wird, wie man es in der Schule lernt. auf oder ab, je nach dem Wert der ersten Dezimale
  • 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
  • Zeitschaltuhr

    Moved
    3
    0 Votes
    3 Posts
    516 Views
    Q
    Das hätte ich jetzt auch geschrieben und verlinkt. Also die Zeitschaltuhr funktioniert bei mir bislang super. Nur an der Wochentageeingabe scheitert es. Gesendet von iPhone mit Tapatalk
  • [Blockly/JavaScript] SQL Abfrage - Ergebnis in Variable speichern

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    paul53P
    @BeautyBoyBob: Ich tracke über sql.0 Zustände von HomeMatic Komponenten. So bspw. auch eine Sensor, der misst, ob der Toilettendeckel geöffnet ist oder nicht. ` Weshalb möchtest Du sql.0 auswerten ? Da wirst Du mit Blockly nicht weit kommen. Die Auswertung des Datenpunktes "Toilettendeckel" ist viel einfacher. [image: 493_blockly_ed_s.jpg]
  • [GELÖST] Neuen Alexa Adapter 2.0 per Skript steuern

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    dslraserD
    Ich habe mir den Ping Adapter mal installiert und angesehen. Bei mir ist der auf 60000 ms Ping Intervall eingestellt. Das heißt, der aktualisiert sich jede Minute. Es kann also immer eine andere Zeit dabei heraus kommen wann die Ansage kommt, je nachdem wann sich das Handy einbucht und wann gerade das Ping Intervall war. Deshalb finde ich den Adapter nicht so gut geeignet für den Vorhaben. Wenn beim verlassen keine Ansage kommen soll, einfach den Text löschen und leer lassen. Ich habe das bei mir über IFTTT gelöst, das funktioniert recht gut. Hier mal mein Beispiel für den Ping Adapter. Javascript/js var timeout; on({id: 'ping.0.xxx.192_168_180_9', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; // Alexa Wohnzimmer timeout = setTimeout(function () { setState("alexa2.0.echo-devices.xxx.Commands.speak"/*speak*/, (String(getState("ping.0.xxx.192_168_180_9").val ? 'falls wahr hier Deinen Text hin' : 'falls unwahr hier Deinen Text hin'))); }, 30000); }); Die 30000 sind Millisekunden, also 30 Sekunden… Hier das Blockly [image: 3822_anwesenheit-ping-adapter.jpg]
  • MQTT ON bzw. OFF Status verwenden in Blockly

    Moved
    1
    2
    0 Votes
    1 Posts
    588 Views
    No one has replied
  • *gelöst* Licht ausschalten nach Zeitplan fkt. nicht

    Moved
    3
    1
    0 Votes
    3 Posts
    554 Views
    surfer09S
    Oahh nee… :roll: :lol: Das Konstrukt an sich, ist aber okay so? Danke dir!
  • Blockly - Variablen verschieben

    Moved
    5
    1
    0 Votes
    5 Posts
    972 Views
    nowak222N
    Bitteee…
  • 0 Votes
    7 Posts
    730 Views
    D
    @daNick: Hallo! Ich hoffe, ich habe nichts überlesen, aber ich finde hierfür keine Lösung: Aufgabenstellung: Output von Shell-Befehl auswerten und als Datenpunkte speichern. Ich nutze https://github.com/sivel/speedtest-cli um meine Internetverbindung zu überwachen. Der Output sieht etwa so aus __pi@ioBroker-Pi:~ $ speedtest-cli –simple Ping: 15.735 ms Download: 84.57 Mbit/s Upload: 7.83 Mbit/s__ Ich "brauche" nun ein Script, das: 1. "(PFAD/)speedtest-cli – simple" auf der Shell ausführt 2. Aus dem Output die Zahlen (gem Beispiel) 15.735, 84.57 und 7.83 in Variablen extrahiert. 3. Damit ich diese Variable dann in Objekte speichern kann. 4. Die dann mit HISTORY geloggt werden. Der Punkt, zu dem ich Hilfe bräuchte wäre 2. (der uU mit 1. zusammenhängt). Danke! Nico `
  • BLOCKLY - Probleme mit Anrufansage auf Funk-Gong

    Moved
    10
    1
    0 Votes
    10 Posts
    1k Views
    M
    Gerne…!
  • Wasserstandssensor Wert für Blockly verwertbar machen

    Moved
    15
    0 Votes
    15 Posts
    2k Views
    wendy2702W
    Versuch mal den Trigger auf "Wurde geändert" zu setzen.
  • Schleppzeiger

    Moved
    3
    0 Votes
    3 Posts
    557 Views
    P
    Hallo, kann dir nur eine Lösung in Skript geben, da ich Blockly nicht nutze: const idInputAmpere = "ADAPTER.NR.INSTANZ"; // Hier den Strommesser definieren const idSchlepp = "javascript." + instance + ".Schleppzeiger.Ampere; // Neuer Datenpunkt für VIS const minimal = 0; // statt 0 kannst du natürlich auch einen anderen Minimalwert nehmen createState(idSchlepp, minimal, false, { name: "Schleppzeiger Ampere", desc: "Schleppzeiger für Stromstärke", type: "number", unit: "A", role: "value.max" }); on({ id: idInputAmpere, change: "gt" // neuer wert größer als alter wert }, function(obj) { log("Schleppzeiger Stromstärke - alter Wert: " + obj.oldState.val + "A - neuer Wert: " + obj.state.val + "A"); setState(idInputAmpere, obj.state.val); }); schedule("0 0 0 0 0", function() { // Mitternacht setState(idSchlepp, minimal); log("Schleppzeiger zurückgesetzt"); }); Dazu musst du in den VIS-Widget-Einstellungen den Maximalwert unter "max" als Binding einfügen. Ich gehe jetzt mal von der javascript-Instanz "0" aus, dann sieht das so aus: {javascript.0.Schleppzeiger.Ampere} So passt sich dieser Wert immer dem Maxwert an. Und natürlich die gleiche ID ohne die geschweiften Klammern in ID eintragen. Gruß Pix
  • 0 Votes
    2 Posts
    640 Views
    R
    Die Frage ist schon länger her und sicher nicht mehr aktuell aber vielleicht auch irgendwann mal für Andere relevant: Die on-Funktion ist meiner Meinung nach hier fehl am Platz. Wenn der Status mit einer einfachen if-Abfrage abgefragt wird, sollte die Ansage über das geoeffnete Fenster nach dem Scharfschalten der Alarmanlage funktionieren. setState("mihome.0.devices.gateway_7811dce1d311.on"/*Light*/, true); on({id: "mihome.0.devices.magnet_158d0001d839ab.state"/*Is opened*/, val: true}, function (obj) {
  • Bild von Kamera per Mail oder Pushover versenden

    Moved
    3
    0 Votes
    3 Posts
    912 Views
    D
    Muss man es denn mit node-pushover machen? Hier mal ein Shellscript, das ich zum Versenden von Bildern per Pushover auf einem Raspi laufen lasse. #!/bin/bash LBoxPi_IP=192.168.xxx.xxx # IP-Adresse des LBoxPi # Pushover Keys PoToken=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Token PoUser=xxxxxxxxxxx # API-Key # Snapshot holen wget -O /home/pi/Haustürklingel.jpg http://${LBoxPi_IP}:8181/cam.jpg # Nachricht erzeugen und senden PoMessage="Haustürklingel in Abwesenheit betätigt." PoPrio=-1 PoSound=pushover curl -s -k -F token=$PoToken -F user=$PoUser -F message="$PoMessage" -F attachment="@/home/pi/Haustürklingel.jpg" -F priority=$PoPrio -F sound=$PoSound -F html=1 "https://api.pushover.net/1/messages.json" exit 0 Sollte sich in abgewandelter Form doch auch in Javascript nutzen lassen, oder?
  • [gelöst]js wie image aus base64 convertieren?

    Moved
    2
    0 Votes
    2 Posts
    629 Views
    S
    so ich habe das Thema gelöst… war eigendlich recht simpel... die hex-Strings die vom Onkyo kommen in Base64 wandeln var hextob64 = new Buffer(hexstring, 'hex').toString('base64') und alle stringszusammenfügen… anschließend einfach die Daten dirkt als surche in die Widget.html einfügen... $div.find('.player-track-art').attr('src', vis.states[data.oid_cover + '.val']); und schon klappts… [image: 8jzTaQc.jpg]![](</s><URL url=)https://i.imgur.com/8jzTaQc.jpg" />
  • Trigger für Javascript 1x mal abfragen vor Programmausführung

    Moved
    7
    0 Votes
    7 Posts
    644 Views
    smartboartS
    An Bluetooth hatte ich auch schon gedacht, dafür gibt es ja auch schon dongle für den Schlüsselbund. Die Reichweite und die Abhängigkeit einer weiteren Funkverbindung hat mich dann aber davon abgehalten. Aber der Faktor Frau und Akzeptanz ist natürlich auch immer wieder ein Problem. :twisted: Wenn ich jetzt noch mit nem Feldtest und Bluetooth anfange ist es ganz vorbei… :roll: Ich wurde schon genötigt die Aktivierung und Deaktivierung nur noch manuell einleiten zu lassen, nachdem die Anlage sich dann Selbstständig machte, weil sich das Telefon abmeldete... Also entweder über vis oder Funkfernbedienung... Und das ist ja schon realisiert.
  • Wie in Blockly den aktuellen Status einer Lampe speichern ?

    Moved
    5
    0 Votes
    5 Posts
    2k Views
    S
    Danke für die Hilfe, es klappt :D
  • [Frage] Piko Wechslerichter 5.5 (Firmware 5.31) auslesen

    Moved
    24
    0 Votes
    24 Posts
    5k Views
    S
    Hallo Sascha, ich habe die Werte damals im Photovoltaik-Forum in folgendem Thread gefunden „https://www.photovoltaikforum.com/kosta … 15856.html“ Vielleicht kannst du dort mal nachfragen. Gruß Strizz Gesendet von iPad mit Tapatalk Pro
  • 0 Votes
    1 Posts
    504 Views
    No one has replied
  • [gelöst] (Blockly) definierte Zeit etwas abschalten

    Moved
    12
    1
    0 Votes
    12 Posts
    2k Views
    J
    Das geht recht schnell, wenn man mal ein paar Scripte mit Blockly erstellt hat ;)
  • [Frage BLOCKLY ] TV Lautstärke mit Alexa steuern

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    J
    Bei einem DP der mit % gesteuert wird, ist eben 0 aus und 100 an, also wo liegt das Problem? Zur Not ziehst Dir eben ein DP selber über Cloud raus und definierst ihn wie Du willst.
  • 0 Votes
    14 Posts
    1k Views
    S
    Nee meinte doch meinen anderen Fragen ;)

243

Online

32.7k

Users

82.4k

Topics

1.3m

Posts