Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.0k Beiträge

NEWS

  • Lichtsteuerung BWM - vereinfachen + Helligkeitsproblem

    18
    1
    0 Stimmen
    18 Beiträge
    469 Aufrufe
    paul53P
    @13patrick37 sagte: Druck auf den Taster einschalten, allerdings mit dem gleichen Klick wieder ausschalten. Wie geht das zu realisieren? Mit Trigger auf "ist wahr" und dem Block "umschalten". [image: 1767279236098-blockly_temp.jpg]
  • Fehlermeldung Object.<anonymous>

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    68 Aufrufe
    Samson71S
    @Öler Würdest Du dem Thread bitte mal ein anständigen Titel geben? Was soll dem Leser "anonymous" sagen?
  • Wert 0 oder null ?

    4
    1
    0 Stimmen
    4 Beiträge
    67 Aufrufe
    AsgothianA
    @Humidor sagte in Wert 0 oder null ?: das hat jetzt funktioniert (die KI hats mir gesagt) isNaN(parseFloat(val)) ? 0 : parseFloat(val) Die KI hat dir aber den Nebeneffekt verschwiegen: Jeder Eintrag der keine Zahl ist führt jetzt zu 0. Wenn du wirklich nur aus null die Zahl 0 machen willst dann muss die Alias-Funktion so aussehen: val=='null' ? 0 : val A.
  • min-max als Datenpunkt

    3
    1
    0 Stimmen
    3 Beiträge
    79 Aufrufe
    WinniW
    Müssen die falls Blöcke nicht in den Zeitplan?
  • (erledigt) Bitweise & in Blockly

    4
    1
    0 Stimmen
    4 Beiträge
    64 Aufrufe
    OliverIOO
    @ubecker Ach das warst ja auch du. Hab gar nicht auf die Namen geschaut
  • Gelöst: unsubscribe: invalid type of id - object

    5
    2
    0 Stimmen
    5 Beiträge
    58 Aufrufe
    M
    @paul53 oh man sorry. Hast recht. Muss der alte Fehler gewesen sein, der beim aktualisieren des Browsers angezeigt wurde. Vielen Dank für deine Hilfe.
  • HttpPost Block korrekt aufbauen

    13
    0 Stimmen
    13 Beiträge
    72 Aufrufe
    David G.D
    @Codierknecht Hab es jetzt fast. Am JS muss mir jmd helfen. Da komme ich nicht weiter. Die Ordner bekommen null Werte und beim Namen sämtlicher Ordner und DOs hätte ich gerne das selbe wie beim Pfad vom DP die kurze Variante ohne den Pfad vorher. [image: 1767048997329-1000058373.jpg] const SOURCE_DP = '0_userdata.0.zabbix.json'; const TARGET_ROOT = '0_userdata.0.zabbix.hosts'; // Hilfsfunktion: sichere ID function normalize(name) { return name .toString() .replace(/[^\w]/g, '_') .replace(/_+/g, '_') .replace(/^_|_$/g, ''); } // JSON einlesen const raw = getState(SOURCE_DP)?.val; if (!raw) { log('Zabbix JSON ist leer oder nicht vorhanden', 'warn'); return; } let data; try { data = JSON.parse(raw); } catch (e) { log('JSON Parsing fehlgeschlagen: ' + e, 'error'); return; } // Hosts durchlaufen Object.keys(data).forEach(host => { const hostId = `${TARGET_ROOT}.${normalize(host)}`; // Host-Ordner anlegen (falls nicht vorhanden) if (!existsObject(hostId)) { createState(hostId, null, { type: 'folder', common: { name: host }, native: {} }); } const metrics = data[host]; Object.keys(metrics).forEach(metric => { const m = metrics[metric]; const dpId = `${hostId}.${normalize(metric)}`; const valueType = m.value_type === 'number' ? 'number' : 'string'; const value = valueType === 'number' ? Number(m.value) : String(m.value); // Datenpunkt neu anlegen if (!existsObject(dpId)) { createState(dpId, value, { type: valueType, common: { name: metric, role: 'value', unit: m.unit || '', read: true, write: false }, native: {} }); log(`DP angelegt: ${dpId}`); } // oder nur aktualisieren else { setState(dpId, value, true); } }); });
  • Link umbauen

    25
    2
    0 Stimmen
    25 Beiträge
    101 Aufrufe
    NegaleinN
    @Homoran sagte in Link umbauen: laut Screenshot muss da irgendwas von print_stats drin vorkommen GROSSES SORRY IN DEN NORDEN ich Idiot hatte den falschen DP verlinkt. DANKE, es funktioniert
  • Rolladen variabel innerhalb festgelegtem Zeitraum schließen

    10
    0 Stimmen
    10 Beiträge
    152 Aufrufe
    paul53P
    @MartinP sagte: zur Terasse sollte der Zufall aber nicht dazu führen, dass die Rollade der Tür VOR dem Fenster fährt. @Denzel-0 sagte in Rolladen variabel innerhalb festgelegtem Zeitraum schließen: Ist auch nur für die Urlaubszeit gedacht.
  • Spotify funktioniert nicht mit Alexa Multiroom

    4
    1
    0 Stimmen
    4 Beiträge
    106 Aufrufe
    tiobbT
    Wenn ich z.B. Radio auf Überall hören funktioniert das, sage ich dann im Wohnzimmer spiele Playlist XY von Spotify auf der überall Gruppe, spielt Spotify im Bad im Obergeschoss das letzte was ich bei Spotify am Handy gehört habe ab, Alexa sagt aber es wird auf der überall Gruppe abgespielt. Sage ich zu Alexa, wenn ich im Wohnzimmer bin, spiele Paylist XY, wird die Playlist auch im Wohnzimmer abgespielt. @Rushmed sagte in Spotify funktioniert nicht mit Alexa Multiroom: Probier mal das Kommando bei irgendeinem Alexa Gerät in den DP .Commands.textCommand zu schreiben. Schreibe ich spiele Playlist XY von Spotify auf der überall Gruppe, dann wird die letzte Playlist im Badezimmer abgespielt. Also genau wie bei der Spracheingabe oder über das Script und LoveLace
  • HTTPS Befehle von Ekey empfangen und auswerten.

    9
    0 Stimmen
    9 Beiträge
    557 Aufrufe
    P
    Ist die Begrenzung auf 5 durch die App? Was, wenn die anderen Benutzer auch die App installieren? Ansonsten z.B. eine Pause von 10 Sekunden einprogrammieren. Wurde innerhalb dieser Zeit der Finger nochmal gescannt, dann Garage auf. Oder Tür auf, und direkt hinter der Tür eine Fernbedienung für die Garage. Oder, wenn kurz nach dem Scan geklingelkt wurde, die Garage auf, oder, oder, oder ...
  • Liste mit Eingabe

    Verschoben
    32
    0 Stimmen
    32 Beiträge
    2k Aufrufe
    andre1deA
    Es funktioniert alles! Fehler ist auch weg! Danke!
  • JSON in Objekt/Datenpunkt umwandeln

    75
    1
    0 Stimmen
    75 Beiträge
    19k Aufrufe
    CyberraphC
    @paul53 Unglaublich, vielen Dank, das war es. Es zeigt im Dialog (zumindest über den Devices-Adapter) das Ergebnis vorab an. Ich hatte schon eine Vermutung, dass man den Bindestrich irgendwo "escapen" muss. Hab auch schon gesehen, dass es unterschiedliche Schreibweisen gibt, aber es mit einem längeren inkl. verschachteltem JSON nicht verstanden. -> JSON.parse(val)['value'] -> JSON.parse(val).value Gesucht hätte ich zwar auch einschlägige Websites wie https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/parse aber dort ist es für mich als Laien, der gar keinen Programmierhintergrund hat, meist nicht komplett verständlich wie es z.B. hier im iobroker bei der Konvertierfunktion richtig geschrieben gehört, da es auf jenen Websites wohl "voll ausgeschrieben" steht und der iobroker diverse Dinge automatisch umwandelt und es somit nicht ganz ausgeschrieben gehört (so laienhaft interpretiert von mir). VIELEN VIELEN DANK, mein Problem ist jedenfalls gelöst. :-) Spoiler [image: 1766938082345-bild_3.png]
  • CPU Berechnungs-Reihenfolge von Trigger Logiken

    2
    0 Stimmen
    2 Beiträge
    72 Aufrufe
    OliverIOO
    @Benji-0 JavaScript und Node sind nur single threaded. Der JavaScript Adapter ist nur ein einziger Prozess. D.h. Innerhalb eines Prozesses kann zur gleichen Zeit exakt nur eine Anweisung ausgeführt werden. Jeder Aufruf einer Funktion, arrow function, event erzeugt einen Eintrag im call stack der dann der Reihe nach vom Event Loop abgearbeitet wird. Dazwischen kommen noch ein paar Management Aufgaben wie bspw garbage collection. Aufgrund der kleinteiligen Unterteilung in diesem Schema kann man jetzt nicht exakt sagen erst wenn trigger 1 fertig ist wird trigger 2 abgearbeitet. Das kann durchaus verschachtelt passieren. Gestartet werden sie aber schon der Reihe nach. Je nach abarbeitungsdauer kann das Ende aber auch unterschiedlich sein. Wenn man will kann man mit Node auch Multi threaded programmieren. Dazu muss man allerdings selbst die neuen threads erzeugen und muss auch das ganze Management (evtl. Sync der threads miteinander, warten auf abhängige Abarbeitung, etc.) unter dem variablenraum worker_threads gibt es die entsprechenden Funktionen. Mit exec kann man einen eigenen Node Prozess starten das hat dann entsprechend mehr overhead. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Execution_model https://nodejs.org/en/learn/asynchronous-work/overview-of-blocking-vs-non-blocking#concurrency-and-throughput
  • Beleuchtungssteurung//Zeit + Präsenzmelder

    4
    1
    0 Stimmen
    4 Beiträge
    75 Aufrufe
    HomoranH
    @13patrick37 sagte in Beleuchtungssteurung//Zeit + Präsenzmelder: nimmt er immer die letzte "sonst" Szene "Sonnenuntergang". für den aktuellen Zeitbereich (16:30-22:45) der zur Zeit gilt gibt es keine explizite Regel. Die momentane Uhrzeit fällt unter sonst
  • Steuern/ Aktualisieren- ID Punkt rausfiltern/ finden...

    4
    3
    0 Stimmen
    4 Beiträge
    56 Aufrufe
    andre1deA
    Es funktioniert! Danke!
  • Datenpunkte per Blockly erstellen und gleich beschreiben

    26
    1
    0 Stimmen
    26 Beiträge
    5k Aufrufe
    andre1deA
    @Codierknecht Peinlich: Funktion in Skript reinschreiben vergessen.... Danke!
  • Werte aus Text und Mittelwert berechnen

    16
    1
    0 Stimmen
    16 Beiträge
    811 Aufrufe
    JoJo58J
    @paul53 Hat sich erledigt, habs hinbekommen. 😁 Mit Element war ich schon auf dem richtigen Weg, aber ich musste nach Zahl konvertieren. Gruß, Johannes
  • Verbesserungsvorschläge für ein Script

    5
    2
    0 Stimmen
    5 Beiträge
    238 Aufrufe
    S
    @paul53 Danke erstmal soweit ich probiere mal etwas.
  • Sound Einstellungen per Taster

    7
    0 Stimmen
    7 Beiträge
    59 Aufrufe
    fuzzy1955F
    @Jens-F. sagte in Sound Einstellungen per Taster: So funktioniert es erstmal grob Super! Dir wünsche ich auch Frohe Weihnachten! Gruß, Fuzzy

657

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge