Hallo zusammen,
ich bin neu hier und erkunde die Möglichkeiten.
Bzgl. der Logikbausteine fehlen mir String-Funktionen sehr!
(Ich könnte mir auch vorstellen, statt in Logikbausteinen, solche Anpassungen/Zerlegungen auch als Nachverarbeitung im Objektmanager anzubieten (vor der Zuführung zu Zielen wie KNX oder Logiken).)
Ich bitte um Nachsicht, wenn einige Bezeichnungen von mir nicht ganz getroffen sind - ich habe den Timberwolf erst seit kurzem im Einsatz.
Hier ganz kontrete Anwendungsbeispiele:
1) Abruf der aktuellen Raumtemperaturen via REST (Steuerung, die noch zwecks Heizung verwendet wird)
- Rückgabewert ist ein CSV-String in den JSON-Elementen: Temperatur IST;Temperatur SOLL;Ventilöffnung;Betriebsmodus;Korrektur
- Hier müsste ich den String bei den Semikolons zerteilen und dann die einzelnen Werte weiterverarbeiten
- Den Wert zum Betriebsmodus würde ich gerne zusätzlich umwandeln in einen sprechenden Text: "Komfortbetrieb", "Absenkbetrieb",..
2) Abruf der aktuellen Werte meiner KWL (Pluggit) via ModbusTCP
- Der Betriebsmodus kommt als UINT. Würde sie gerne in einen sprechenden Text umwandeln und auf den KNX-Bus schicken, zB: "Bedarfsmodus", "Wochenmodus",...
Zusatzfrage: Können nach Senden eines Wertes alle Werte erneut abgerufen werden (ein kompletter Trigger durch Objektänderung, zusätzlich zum periodischem Abruf, vgl. HTTP-API)?
- Hintergrund: Durch Setzen eines Betriebsmodus können sich auch andere Werte als nur der Betriebsmodus ändern (Bypass, RPM,..)
3) Einlesen der aktuellen Werte meiner Enthärtungsanlage (Grünbeck) via MQTT:
- Der Wert des MQTT-Topics zum Salzverbrauch ist ein JSON-String (mit mehreren Details darin) - diesen würde ich gerne einem (weiteren) Logikbaustein zuführen und weiterverarbeiten.
4) Verbinden von mehreren Strings
- Mischung aus variablen Eingangswerten und vorgegebenen Strings
Viele Grüße,
Florian
NEU! UPGRADE IP 11 verfügbar!
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2
Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074
Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117
NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs
NEU! LICHTWIDGET - DPT 7.600 - Logik Manager Update - sowie viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/B9MUEJj2
Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Ab sofort kann jeder die neue VISU & IFTTT testen. Info: viewtopic.php?f=8&t=5074
Release V 4 am 15. Juni 2024
Es gibt nun einen fixen Termin. Info: viewtopic.php?f=8&t=5117
NEU! Ausführliches Video Tutorial zur VISU
Jetzt werden alle Fragen beantwortet. Das Video: https://youtu.be/_El-zaC2Rrs
[DISKUSSION] String-Funktionen
-
- Elaborated Networks
- Reactions:
- Beiträge: 9894
- Registriert: So Aug 12, 2018 9:27 am
- Wohnort: Frauenneuharting
- Hat sich bedankt: 4892 Mal
- Danksagung erhalten: 7854 Mal
- Kontaktdaten:
Hallo Florian,
==> Konkrete Beispiele helfen uns, also bitte mal das ganze JSON posten bitte
lg
Stefan
Ja, mit den neuen Möglichkeiten über Modbus, MQTT und Rest-API kommt hier Bedarf auf, wir arbeiten auch daran.
Ja, der Timberwolf Server ist dahingehend ausgelegt, dass man möglichst wenig von der Logik in Anspruch nehmen muss, weil die meisten Dinge entweder automatisch funktionieren oder in den Subsystemen gelöst sind.
Ja, es steht auf unserer ToDo Liste, dass wir Arrays in JSON noch unterstützen wollen bei Zerlegung (und auch beim Schreiben)
==> Konkrete Beispiele helfen uns, also bitte mal das ganze JSON posten bitte
Ja, verstanden, ein Mapping-Feature haben wir auch auf der Liste, sollte aber mit der Logik bereits funktionieren
Ja, das gleiche Thema, steht auch auf der Liste. Software wird eben nie fertig
Schreiben per Trigger geht schon, Lesen auf Trigger steht auf der Liste
Ist das Thema ArrayKFloo hat geschrieben: ↑Mo Jan 24, 2022 3:48 pm3) Einlesen der aktuellen Werte meiner Enthärtungsanlage (Grünbeck) via MQTT:
- Der Wert des MQTT-Topics zum Salzverbrauch ist ein JSON-String (mit mehreren Details darin) - diesen würde ich gerne einem (weiteren) Logikbaustein zuführen und weiterverarbeiten.
Ist bereits in Entwicklung
lg
Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de
Link zu Impressum und Datenschutzerklärung oben.
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de
Link zu Impressum und Datenschutzerklärung oben.
-
- Reactions:
- Beiträge: 85
- Registriert: Di Jan 04, 2022 10:14 pm
- Hat sich bedankt: 52 Mal
- Danksagung erhalten: 51 Mal
Vorweg: Das mit dem MQTT/Grünbeck möchste ich etwas relativieren. Es ist vom Hersteller geplant, Anlagen direkt via MQTT einbinden zu können. Aktuell läuft das indirekt via iobroker und MQTT.
Hallo Stefan,
vielen Dank für deine Antwort - das hört sich ja ganz großartig an!
Ich finde es wirklich toll, dass Nutzer sich direkt mit dem Hersteller austauschen können.
Hier zwei JSON-Strings:
Raumtemperaturen:
(Temperatur IST;Temperatur SOLL;Ventilöffnung;Betriebsmodus;Korrektur)
Energiekosten:
(Act.power;Energy today;Energy month;Energy sum;Power max.;Unit energy;Unit power;Energy today 0-6;6-12;12-18;18-24;Energy yesterd. 0-6;6-12;12-18;18-24;1=Act.Power available)
Ich kann mir vorstellen, dass der Hersteller das einfach unschön implementiert hat.
Aber ich denke, es kommt durchaus vor, dass manchmal mehrere Stringverarbeitungen hintereinander durchgeführt werden müssen, zB. CSV in JSON oder JSON in MQTT.
Viele Grüße,
Florian
Hallo Stefan,
vielen Dank für deine Antwort - das hört sich ja ganz großartig an!
Ich finde es wirklich toll, dass Nutzer sich direkt mit dem Hersteller austauschen können.
Hier zwei JSON-Strings:
Raumtemperaturen:
(Temperatur IST;Temperatur SOLL;Ventilöffnung;Betriebsmodus;Korrektur)
{ "item0": { "sumstate": { "value": "22.20000076293945;22.00;41.44;8;1;0.00;0;" } }, "item1": { "sumstate": { "value": "23.10000038146973;18.00;0.00;16;1;1.50;0;" } }, "item2": { "sumstate": { "value": "21.60000038146973;21.00;1.72;8;1;-1.00;0;" }(gekürzt - sind noch weitere items)
}
Energiekosten:
(Act.power;Energy today;Energy month;Energy sum;Power max.;Unit energy;Unit power;Energy today 0-6;6-12;12-18;18-24;Energy yesterd. 0-6;6-12;12-18;18-24;1=Act.Power available)
{ "item0": { "sumstate": { "value": "0.48;5.10;419.31;27879.24;10.00;kWh;kW;2233;2869;0;0;2066;6875;10065;3630;1;" } }, "item1": { "sumstate": { "value": "13.70;39.00;1206.00;57008.00;25.00;kWh;kW;11000;28000;0;0;7000;27000;18000;11000;1;" } } }
Ich kann mir vorstellen, dass der Hersteller das einfach unschön implementiert hat.
Aber ich denke, es kommt durchaus vor, dass manchmal mehrere Stringverarbeitungen hintereinander durchgeführt werden müssen, zB. CSV in JSON oder JSON in MQTT.
Viele Grüße,
Florian
Vg, Florian. (TWS 3500M #708, VPN geschlossen)
-
- Reactions:
- Beiträge: 375
- Registriert: So Apr 14, 2019 11:12 am
- Hat sich bedankt: 203 Mal
- Danksagung erhalten: 198 Mal
Wenn ich das richtig verstehe, dann würde mir dieses Feature helfen.
Denn ich finde gerade keine Möglichkeit, wie ich mit dem Uhr-Zeit-Modul ein Datum in ein bestimmtes Format bringen kann (für einen HTTP-API-Request --> Abfrage, ob heute Feiertag ist oder nicht).
So würde ich mir das vorstellen (nur exemplarisch; sOutDate ist festgeschrieben, weil ich leider keine Möglichkeit kenne).
Frage: Muss ich hierzu auf obiges Modul warten oder gibt es bereits heute schon andere Möglichkeiten über den TWS?
Mir würde höchstens noch einfallen, über eine Rule in OpenHAB etwas zu erstellen; würde ich aber gerne vermeiden wollen .
Grüße, Adi
TWS 2600 ID: 331, VPN geschlossen, Reboot nach Rücksprache
TWS 2600 ID: 331, VPN geschlossen, Reboot nach Rücksprache