Blockly – Konvertierungen
In dieser Artikelserie möchte ich das Thema Blockly in ioBroker näher erklären. Im Artikel werden wir uns anhand von Beispielen die Konvertierungs-Blöcke genauer ansehen.
1. Konvertierung nach Zahl
Im ersten kleinen Beispiel sehen wir uns nun die Konvertierung nach Zahl an. Im Beispiel habe ich einen Trigger auf einen Datentyp vom Typ String erstellt, welchen den neuen Wert nach der Änderung in eine Zahl umwandelt und diesen dann in den numerischen Datenpunkt TestValue schreibt. Der Block verwendet hier intern die parseFloat() JavaScript-Funktion.
2. Konvertierung nach Logikwert
Im zweiten Beispiel erstellen wir uns einen Trigger auf einen numerischen Wert (0 oder 1), welcher uns dann über den Block nach Logikwert den Wert in einen logischen Wert umwandelt. Der numerische Wert 1 entspricht hier true, die 0 false.
3. Konvertierung nach String
Im nächsten Beispiel erstellen wir wieder einen einfachen Trigger, mit dem wir einen numerischen Wert in einen String umwandeln.
Im zweiten Beispiel wandeln wir einen logischen (true/false) Wert in einen String um. Hier wird der logische Wert identisch in den String Datenpunkt geschrieben.
4. Typ von Block
Mit diesem Block wird der Typ eines Datenpunkts als String zurückgegeben. Im folgenden Beispiel habe ich einen Trigger erstellt, welcher auf einen logischen (boolean) Datenpunkt reagiert. Als Zeichenfolge erhalte ich somit boolean.
Folgende Werte werden für die verschiedenen Datenpunkt Typen zurückgegeben:
- Logikwert – boolean
- Zeichenkette – string
- Zahl – number
- Feld – array
- Objekt – object
- Gemischt – mixed
5. Konvertierung nach Datum/Zeit
Im fünften Beispiel zeige ich Dir die Konvertierung nach Datum/Zeit. Mit diesem Block kannst Du einen numerischen oder alphanumerischen Wert in ein Datums-Objekt konvertiere. Im folgenden Beispiel konvertieren wir das Beginn-Feld der Wetterwarnungen des Deutschen Wetterdienstes um diesen Wert in folgende Form zu konvertieren TT.MM.JJJJ SS:mm“.
Im ersten Schritt habe ich dazu den Wert vom Datenpunkt dwd.0.warning.begin über den Konvertierungsblock in die Variable beginn geschrieben. Den Wert habe ich dann über den Konvertierung nach Datum/Zeit Block in einen weiteren Datenpunkt geschrieben.
6. Konvertierung Datum/Zeit nach…
Im nächsten Beispiel verwende ich den Trigger auf den Datenpunkt Sensor.Bodenfeuchtigkeit. Bei einer Veränderung des Datenpunkts wird der Zeitstempel der Änderung über den Block Datum/Zeit im Anwenderformat in das ioBroker Log geschrieben. Das Format kann hierbei frei gewählt oder eingegeben werden.
- Einführung in Blockly
- Logik
- Trigger
- Funktionen
- Zeitplanung zur Schaltung von Aktoren
- Fehlersuche mit dem Debug-Output Block
- Blockly-Script optimieren und vereinfachen
- Trigger
- Trigger auf mehrere Datenpunkte
- Mit dem ID-Selektor auf Veränderungen reagieren
- Trigger auf mehrere Datenpunkte
- Debug output
- Kommentar
- Steuere
- Umschalten
- Aktualisieren
- Binde Object
- Schreibe
- Datenpunkt erzeugen
- Wert von Object ID
- Zeichenfolge parsen
- Zeichenfolgen anhängen
- Zeichenfolgen verbinden
- Länge einer Zeichenfolge ermitteln
- Zeichenfolge umwandeln
- Leerzeichen an Zeichenfolge entfernen
- Zeichenfolge bestimmtes Zeichen/Zeichenfolge ermitteln
- Buchstaben oder Zeichenfolge in Zeichenfolge suchen
- Nach mehreren Zeichenfolgen suchen
- Aktuelles Datum und Uhrzeit ermitteln
- Aktuelle Uhrzeit vergleichen
- Konvertierung von Datumsformaten
- Aktuelle Zeit von Astrozeitpunkt
- Sekunden zum Datum addieren
- Konvertierung nach Zahl
- Konvertierung nach Logikwert
- Konvertierung nach String
- Typ von Block
- Konvertierung nach Datum/Zeit
- Konvertierung Datum/Zeit nach…
- Länge einer Liste ermitteln
- Inhalt einer Liste sortieren
- Liste aus Zeichenfolge mit Trennzeichen ermitteln
- Werte aus Liste auslesen
- Summe über Liste
- Wiederhole X mal
- Wiederhole solange
- Definierte Schleife (For-Schleife)
- Liste per Schleife durchlaufen
- Summen bilden
- Mathematische Konstanten für Berechnungen
- Wert erhöhen/verringern
- Runden von Werten
- Zufallszahl generieren
- Rest einer Division
- E-Mails versenden
- Nachrichten mit dem Telegram-Adapter versenden
- Telegram Nachrichten formatieren
- Web-Request für HTTP-Requests
- URL Encode mit JavaScript-Funktions Block
- ComingHome Lichtsteuerung
- Fernsterüberwachung mit Benachrichtigung
- VIS View Wechsel
- Aktion nur einmal pro Tag ausführen
- Warnung bei geöffneter Tür nach eingestelltem Zeitraum
- Vergleich von 3 Werten
- Aktion verzögert ausführen
- Zahl/Wert in Klartext
- Abendliche Prüfung auf geöffnete Fenster oder Türen
- Benachrichtigung wenn Tür länger als 1 Minute offen steht
- Erinnerung Mülleimer-Leerung
- Eigenes Logging in ioBroker – Teil 2 – Nutzung in Blockly
- Weihnachtsbeleuchtung steuern
- Adapter-Updates per Telegram-Nachricht empfangen
- Telegram Nachrichten an bestimmte Personen oder Gruppen versenden
Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen zum Thema 🙂
Hi,
iregendwie scheiter ich an der Konvertierung des Datums. Kannst du das bitte nochmal genauer erklären? Vor allem welche ID binde ich später in Jarvis in das Gerät ein?
Gruß Fred