Weiter zum Inhalt

Skripten / Logik

16.6k Themen 214.5k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Themen
    49k Beiträge
    P
    Hi @Schimi , danke für das Skript. Ich glaube, es gibt einen kleinen Bug bei den stündlichen Daten. Die Werte für die ersten beiden Stunden des Tages werden falsch zugeordnet. Zum Debuggen habe ich das Skript angepasst und den Datenpunkt "from" mitschreiben lassen. Da ergibt sich folgendes Bild: 0_userdata.0.wetter_com.day_0.hourly.23.from = 2026-04-25T21:00:00Z 0_userdata.0.wetter_com.day_1.hourly.00.from = 2026-04-26T22:00:00Z 0_userdata.0.wetter_com.day_1.hourly.01.from = 2026-04-26T23:00:00Z 0_userdata.0.wetter_com.day_1.hourly.02.from = 2026-04-26T00:00:00Z Die TImestamps sind ja UTC, also 2h Versatz zu Deutschland. Die Uhrzeiten sind alle ok, aber bei 00:00 und 01:00 Uhr stimmt das Datum nicht. Da müsste als Tag der 25. drin stehen.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    M
    Gestern war bei VolMax 3,54V Ladeende 100%, das Entladen stoppt halt dann doch relativ bald wenn ich bei Volmin 3,16V stoppe, aber wird wohl Sinn machen. Damit es ein bisschen hinausgezögert wird habe ich aber aktuell schon von 40% (500W) bis 10% verlaufend das Entladelimmit bis zu nur noch maximal 200W runtergesetzt.
  • Hilfe für Skripterstellung mit Node-RED

    955 13k
    955 Themen
    13k Beiträge
    mickymM
    @Tontechniker Man kann solche Filter aber auch OHNE neue Nodes zu installieren mit einfachen Standard-Switch Nodes realisieren: [image: 1776865319208-af3cab3c-2716-43f4-b7df-7f74e8bf051b-image.jpeg] ggf. einfach nochmal meinen alten Thread anschauen: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered
  • Korrekte Variablen deklaration bei mehreren Prozessen?

    5
    1
    0 Stimmen
    5 Beiträge
    377 Aufrufe
    G
    @paul53 Mmmh warum kompliziert wenn es auch einfach geht? Wenn ich mir das anschaue was du gemacht hast, sollte es funktionieren. Bin aktuell nicht in der Nähe des iobroker werde das später mal ausprobieren.
  • gelöst: Daten aus influxdb in Blockly verwenden

    14
    0 Stimmen
    14 Beiträge
    1k Aufrufe
    S
    Danke an alle. Ich denke die Situation und die Möglichkeiten sind klar!
  • Zugangskontrolle - Verwaltung der Codes

    1
    0 Stimmen
    1 Beiträge
    324 Aufrufe
    Niemand hat geantwortet
  • [gelöst] JSON Key-Namen ändern

    3
    0 Stimmen
    3 Beiträge
    177 Aufrufe
    DJMarc75D
    @fastfoot sagte in JSON Key-Namen ändern: $^(<title).{"value":ratingKey,"text":title} HighSpeed-Antwort mit 100% Funktion wie es soll ! Danke Dir
  • Warnings im Log

    10
    0 Stimmen
    10 Beiträge
    744 Aufrufe
    C
    @glasfaser Danke! Nix gefunden - denke der Restart des Adapters hat gefehlt..... Vielen Dank!
  • eFamilyCloud RGB LED Birne zu yahka

    15
    2
    0 Stimmen
    15 Beiträge
    2k Aufrufe
    lethuerL
    @lethuer @lethuer sagte in eFamilyCloud RGB LED Birne zu yahka: Fertig ist das aber ja noch nicht, da brauche ich noch Support Kann jemand weiterhelfen wie ich mein Vorhaben am besten umsetzen kann ? @lethuer sagte in eFamilyCloud RGB LED Birne zu yahka: Als nächstes würde ich dann gerne mal Saturation und Bright(Value) an die yahka Merkmale "Brightness" bzw. "Saturation" übergeben: Hierzu werde ich ein Skript nutzen müssen, welches die Ziffern 1-6 und 11+12 bzw. 13+14 aus "colour_data" manipuliert. Über yahka würde dann Saturation bzw. Bright verändert und ein Wert zurück geliefert. Mit diesem Wert hat man dann nach umskalierung direkt einen neuen hsv code. Damit dann die Lampe in ioBroker gesteuert werden kann, müsste ein neuer rgbhsv code zusammengesetzt werden. Also muss dann noch der passende rgb code ermittelt werden und entsprechend die ziffern 1-6 geupdatet werden. Nur habe ich keine Ahnung wie ich das anstelle die entsprechenden Ziffern im rgbhsv code zu manipulieren ?! Yahka setzt: Hue (0 - 360), Saturation (0-100 bzw. 0-255 bei level255 Conversion) brightness (auch 0-100/0-255) ColorTemperature (ca. 140 - 500) Den Zahlenwert von yahka zwischen 0-100 für Bright(Value) oder Saturation muss ich also auf 0...255 umskalieren und in hex konvertieren. Das Eergebnis dann auf die entsprechende ziffer 11+12 (saturation) oder 13+14 (bright) schreiben. Die Skalierungsfaktoren sind dann: bei Saturation der Faktor 255/100%, sollte aber noch auf ganze zahlen gerundet werden. bei Bright(Value) muss dann vielleicht noch berücksichtigt werden, dass die Skala erst bei dec 25 anfängt und damit den Wertebereich 25...255 hat. Die Umrechnung dort lautet also 100% -> 255, 1% -> 25 [image: 1668640738613-356ccef2-e526-4cb6-9373-b2371f45cf0e-image.png] [image: 1668640780313-32bdf487-eb3a-4a08-8f98-20a84f219f86-image.png]
  • JavaScript Schleife mit Wildcard [gelöst]

    6
    3
    0 Stimmen
    6 Beiträge
    631 Aufrufe
    Martin1324M
    @paul53 Vielen Dank!! Das Skript läuft perfekt! lg Martin
  • WARN im Log verhindern wenn getState null ist

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    P
    @paul53 copy & paste Fehler. Habs im Code oben korrigiert.
  • excel Datei mit exceljs.js schreiben

    13
    0 Stimmen
    13 Beiträge
    1k Aufrufe
    CodierknechtC
    @franzda sagte in excel Datei mit exceljs.js schreiben: Danke für EURE Antwort @franzda @bahnuhr Du kannst auch mehr als einen anderen User direkt ansprechen - so wie ich das hier gemacht habe. Dann muss man sich die Antwort nicht zusammensuchen.
  • Objektbaum mit Werte kopieren [gelöst]

    8
    0 Stimmen
    8 Beiträge
    606 Aufrufe
    Martin1324M
    @paul53 genau das habe ich gesucht. Vielen vielen Dank!! Hat perfekt funktioniert. lg Martin
  • Durchschnitt der Werte aus InfluxDB v 2.x auswerten

    1
    1
    2 Stimmen
    1 Beiträge
    587 Aufrufe
    Niemand hat geantwortet
  • On mit Array als Trigger

    3
    0 Stimmen
    3 Beiträge
    262 Aufrufe
    B
    @paul53 said in On mit Array als Trigger: let i = arSource.indexOf(obj.id); Genial. Vielen Dank!!!!!!!!!!!!!!
  • [gelöst] Balkonkraftwerk - Ertrag / Kosten / Verbrauch

    44
    0 Stimmen
    44 Beiträge
    10k Aufrufe
    S
    @alexho Würdest du die Scripte zur Verfügung stellen?
  • *gelöst* Script oder geht das einfacher?

    5
    0 Stimmen
    5 Beiträge
    212 Aufrufe
    G
    @crunchip LastChange nennt sich das.... gefunden...danke...
  • Blockly für Tradfrij 5Button Remote

    4
    0 Stimmen
    4 Beiträge
    363 Aufrufe
    Jannis FotiouJ
    @der-trollo Hey würdest du mir dein Blockly mal etwas erläutern? Vorallem sagen welche Datenpunkte des Schalters und der Lampe sind? Ich bin absoluter Neuling und könnte hierbei einiges lernen. Wäre dir sehr dankbar. LG Jannis
  • Tado Integration - wie vollen Funktionsumfang nutzen?

    1
    0 Stimmen
    1 Beiträge
    182 Aufrufe
    Niemand hat geantwortet
  • VU Meter / Treshold / Peak

    11
    0 Stimmen
    11 Beiträge
    898 Aufrufe
    B
    @paul53 Hut ab, das klappt echt richtig gut! Keinerlei Probleme mit der Performance... Danke auch für den Hinweis mit dem setState().
  • Blockly letzte Aktualisierung von Datenpunkt ermitteln

    5
    1
    0 Stimmen
    5 Beiträge
    543 Aufrufe
    B
    Perfekt und Merci :-)
  • [Vorlage] trackListHtml-Scrolling für Spotify

    Verschoben javascript multimedia
    30
    5
    1 Stimmen
    30 Beiträge
    7k Aufrufe
    M
    Moin, ich wollte gerne den aktuellen Spotify Adapter (v1.2.1) in meiner VIS für ein GaragenMusikTablet (ein altes Fire HD8) einbinden aber so richtig wollten die Scrips in Sachen Tracklist nicht mehr. Ich habe das Script angepasst so das es bei mir jedenfalls funktioniert. Evt. kann es ja jemand gebrauchen. /*************************************************************************************************** * HTML-Tracklist: * Quelle: * https://github.com/twonky4/ioBroker.spotify-premium/wiki/Html-Tracklist * https://forum.iobroker.net/viewtopic.php?p=151165#p151165 * * Dieses Script wurde von twonky entworfen * Es wurde an gewissen Stellen erweitert und engepasst ****************************************************************************************************/ const STATE_PATH = 'javascript.'+ instance + '.' + 'spotify.spotify-supplement.'; createState(STATE_PATH + 'htmlTrackList', '', false); function refreshTrackList() { var current = getState('spotify-premium.0.player.playlist.trackList').val; var source = getState('spotify-premium.0.player.playlist.trackListArray').val; var tracklist; var i; var html = '<table class="spotify-tracklist-table">'; // Prüfe, ob die Tracklist geladen wurde if(source.length > 0) { // JSON parsen tracklist = JSON.parse(source); tracklist.forEach (function (track, index){ i = index; html += '<tr onclick="vis.setValue(\'spotify-premium.0.player.playlist.trackNo\', ' + (i+1) + ');">'; html += '<td>'; /******************************************************************** * Hier muss man dem aktuellen Track und/oder Artist eine ID vergeben ********************************************************************/ var currentSong = (current == i) ? ' id="spotify-current-song"' : ''; // gibt dem aktuellen Song eine ID var currentArtist = (current == i) ? ' id="spotify-current-artist"' : ''; // gibt dem dazugehörigen Artist eine ID /* Wenn man ein Icon hinzufügen möchte, braucht es diese IF-Abfrage, sonst kann sie komplett gelöscht werden */ if(current == i) { html += '<div style="position:absolute;left:0px;width:25px;height:25px;">'; // Formatierung des Icons html += '<img style="width:100%;" src="/vis.0/icons/active_song_speaker_white.png">'; // Pfad zum Icon in deiner Vis html += '</div>'; } html += '<div class="spotify-tracklist-title"' + currentSong + '>' + track.title + '</div>'; html += '<div class="spotify-tracklist-artist"' + currentArtist + '>' + track.artistName + '</div>'; html += '</td></tr>'; //html += '</tr>'; }); } else { // gebe einen Hinweis auf fehlende Trackliste html += '<tr><td>Keine Tracklist geladen.</td></tr>'; } // tabelle schliessen html += '</table>'; /*************************************************************************************************** * Script für automatisches Scrollen des aktuellen Titels * https://forum.iobroker.net/viewtopic.php?f=30&t=18222&p=190991&hilit=javascript+experten#p190365 ****************************************************************************************************/ // Lade das Script nur, wenn die Tracklist auch geladen ist if(source.length > 0) { html += '<script>'; html += 'var el = document.getElementById("spotify-current-song");'; // ID von dem aktuellen DIV in der TABLE oben //html += "el.scrollIntoViewIfNeeded(true)"; //true = Position oben / false = Position unten (Achtung: hier Id:spotify-current-artist angeben) html += "el.scrollIntoView();"; // scroll to current track html += '</script>'; } /***************************************************************************************************/ setState(STATE_PATH + 'htmlTrackList', html, true); } on('spotify-premium.0.player.playlist.trackList', refreshTrackList); on('spotify-premium.0.player.playlist.trackListArray', refreshTrackList); refreshTrackList(); [image: 1668160019757-vis_spotify.png]
  • Ökofen Pelletronic Touch auslesen

    Verschoben
    56
    0 Stimmen
    56 Beiträge
    22k Aufrufe
    JanLoebelJ
    @looxer01 @ioBroker-lover habt ihr nochmal irgendwas rausfinden / berechnen können? Ich möchte ebenfalls eine ungefähre Berechnung haben wieviele Pellets wir so verbrauchen. Die Schneckenlaufzeit plane ich über einen Shelly zu messen da muss ich aber mal noch testen wie sich das am besten damit umsetzten lässt. Wenn ich hier Werte raus habe die hinkommen könnten, könnte ich die mit der "PE1 Einschublaufzeit[zs]" abgleichen, da ich diese Werte über das CSV theoretisch auch erhalte.

267

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge