NEUHEIT! Ab sofort MQTT mit dem Timberwolf Server!
Verfügbar für alle Versionen mit der Insider Preview 5 zur Version 2.0. Infos: viewtopic.php?f=8&t=2846

[NEUHEIT] Universeller Binär -> String Baustein (bin2txt V2.0)

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
Antworten

Ersteller
Dragonos2000
Reactions:
Beiträge: 1541
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 296 Mal
Danksagung erhalten: 600 Mal

Universeller Binär -> String Baustein (bin2txt V2.0)

#1

Beitrag von Dragonos2000 »

Mal wieder Zeit für neue Bausteine :) Anbei möchte ich einen konfigurierbaren Baustein mit Euch teilen, mit dem Ihr über einen Binäreingang eine Textmeldung senden könnt.
bin2txt.JPG
Betriebsmodi:
  1. Senden nur bei "False" (Mode 0), dabei wird der für "True" konfigurierte String ignoriert
  2. Senden nur bei "True" (Mode 1), dabei wird der für "False" konfigurierte String ignoriert
  3. Senden sowohl bei "True" als auch bei "False" von unterschiedlichen Texten (Mode 2)
Zusätzlich ist ein Holddown-Timer implementiert, um zu schnelles / kurzes triggern hintereinander zu verhindern.

Eingänge:
  • Trigger Input = Binäreingang, der das Senden auslöst
  • Str2Send for True = String, der bei Empfang von "True" am Trigger Input gesendet werden soll (Betriebsmodi 1 und 2)
  • Str2Send for False = String, der bei Empfang von "False" am Trigger Input gesendet werden soll (Betriebsmodi 0 und 2)
  • Holddown = Zeit in Sekunden, während der ein erneutes Triggern unterdrückt wird
  • Mode = Betriebsmodus (siehe oben)
Einsatzgebiete(bei mir derzeit):
  • Textmeldungen auf Display eines KNX-Bedienelements
  • Abspielen eines bestimmtes Wave-Files auf dem Synohr
  • Sollte sich auch für MQTT gut gebrauchen lassen...

Code: Alles auswählen

{
  "Level": [
	["$ConstFalse","bool",false],
	["$ConstTrue","bool",true],
	["$Send","bool",false],
	["$HoldDown","bool",false],
	["$P_OpMode","integer",0],
	["$P_HoldDownTime","float",1.0],
	["$I_Trigger","bool",false],
	["$P_TextTrue","string","Init-Value"],
	["$P_TextFalse","string","Init-Value"],
	["$O_Text","string","Init-Value"],
	["$VAR<Inhibit?>","bool",false]
  ],
  "_Meta": {
    "Icon": " data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgIHdpZHRoPSI0OCIKICAgaGVpZ2h0PSI0OCIKICAgdmlld0JveD0iMCAwIDEyLjcgMTIuNyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnOTk1Ij4KICA8ZGVmcwogICAgIGlkPSJkZWZzOTg5Ij4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY3Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A4NjMiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wODY1IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50ODY3IgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODY5IgogICAgICAgeDE9IjY2LjI2Njg5OSIKICAgICAgIHkxPSIxMDcuMjgwMzYiCiAgICAgICB4Mj0iODAuMzc0MTUzIgogICAgICAgeTI9IjEwNy4yODAzNiIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAvPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE5OTIiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaWQ9ImxheWVyMSI+CiAgICA8ZwogICAgICAgaWQ9ImxheWVyMS0xIgogICAgICAgdHJhbnNmb3JtPSJtYXRyaXgoMC43NDM2NjQ4NywwLDAsMC43NzAwMzY5NCwtMzYuNDkzODU0LC05OC4xMDE2MTEpIj4KICAgICAgPHRleHQKICAgICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6Y29uZGVuc2VkO2ZvbnQtc2l6ZTo4LjU4MzM4cHg7bGluZS1oZWlnaHQ6MS4yNTtmb250LWZhbWlseTpBcmlhbDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCwgQm9sZCBDb25kZW5zZWQnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2ZpbGw6I2ZmOGQyOTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4yMTQ1ODUiCiAgICAgICAgIHg9IjY1Ljc4NDkyIgogICAgICAgICB5PSIxMTAuMzUyNDQiCiAgICAgICAgIGlkPSJ0ZXh0ODM1IgogICAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuODExMDMwNDUsMS4yMzI5OTkzKSI+PHRzcGFuCiAgICAgICAgICAgaWQ9InRzcGFuODMzIgogICAgICAgICAgIHg9IjY1Ljc4NDkyIgogICAgICAgICAgIHk9IjExMC4zNTI0NCIKICAgICAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpib2xkO2ZvbnQtc3RyZXRjaDpjb25kZW5zZWQ7Zm9udC1zaXplOjguNTgzMzhweDtmb250LWZhbWlseTpBcmlhbDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCwgQm9sZCBDb25kZW5zZWQnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2ZpbGw6I2ZmOGQyOTtmaWxsLW9wYWNpdHk6MTtzdHJva2Utd2lkdGg6MC4yMTQ1ODUiPklPSU88L3RzcGFuPjwvdGV4dD4KICAgICAgPHRleHQKICAgICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6Y29uZGVuc2VkO2ZvbnQtc2l6ZTo5LjAxNDYycHg7bGluZS1oZWlnaHQ6MS4yNTtmb250LWZhbWlseTpBcmlhbDstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidBcmlhbCwgQm9sZCBDb25kZW5zZWQnO2ZvbnQtdmFyaWFudC1saWdhdHVyZXM6bm9ybWFsO2ZvbnQtdmFyaWFudC1jYXBzOm5vcm1hbDtmb250LXZhcmlhbnQtbnVtZXJpYzpub3JtYWw7Zm9udC12YXJpYW50LWVhc3QtYXNpYW46bm9ybWFsO2ZpbGw6IzJiNjBmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4yMjUzNjYiCiAgICAgICAgIHg9IjY0LjY0MzgzNyIKICAgICAgICAgeT0iMTEwLjQyNTg0IgogICAgICAgICBpZD0idGV4dDgzNS0yIgogICAgICAgICB0cmFuc2Zvcm09InNjYWxlKDAuNzcyMjMxOSwxLjI5NDk0NzgpIj48dHNwYW4KICAgICAgICAgICBpZD0idHNwYW44MzMtMSIKICAgICAgICAgICB4PSI2NC42NDM4MzciCiAgICAgICAgICAgeT0iMTEwLjQyNTg0IgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOmNvbmRlbnNlZDtmb250LXNpemU6OS4wMTQ2MnB4O2ZvbnQtZmFtaWx5OkFyaWFsOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J0FyaWFsLCBCb2xkIENvbmRlbnNlZCc7Zm9udC12YXJpYW50LWxpZ2F0dXJlczpub3JtYWw7Zm9udC12YXJpYW50LWNhcHM6bm9ybWFsO2ZvbnQtdmFyaWFudC1udW1lcmljOm5vcm1hbDtmb250LXZhcmlhbnQtZWFzdC1hc2lhbjpub3JtYWw7ZmlsbDojMmI2MGZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjIyNTM2NiI+VGV4dDwvdHNwYW4+PC90ZXh0PgogICAgPC9nPgogIDwvZz4KPC9zdmc+Cg==",
    "Version": "2.0",
    "_description": "Sending text when triggered"
  },
  "Output": [
	["Text Output","Text output","$O_Text","x"]
  ],
  "Module": [
	["Break",["$VAR<Inhibit?>"]],
	["Multiplexer",["$P_TextFalse","$P_TextTrue"],"$O_Text","$I_Trigger"],
	["Multiplexer",["-$I_Trigger","$I_Trigger","$ConstTrue"],"$I_Trigger","$P_OpMode"],	//Inversion, if "false" shall be the trigger to send the output
	["And",["-$HoldDown", "$I_Trigger"], "$Send"],
	["SendExplicit","$Send","$O_Text",0],
	["Monoflop","$I_Trigger","$ConstFalse","$HoldDown","$P_HoldDownTime",0]
  ],
  "Input": [
	["Trigger Input","Send when trigger receives configured logic level", "$I_Trigger","a"],
	["Str2Send for TRUE","String to be sent, when TRUE is received", "$P_TextTrue","u"],
	["Str2Send for FALSE","String to be sent, when FALSE is received", "$P_TextFalse","u"],
	["HoldDown","Holddown timer in seconds until next output can be sent", "$P_HoldDownTime","u"],
	["Mode","Operation Mode: 0=Send on FALSE, 1=Send on TRUE, 2=Send both", "$P_OpMode","u"],
	["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
  ]
}
Viel Spaß damit.

Der Schöpfer dieser Custom Logik überträgt die Nutzungsrechte gemäß der TOLL ("Timberwolf Open Logikblock License") die unter https://wrgt.news/TOLL zum Download zur Verfügung steht.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Dragonos2000 am Mo Jun 07, 2021 5:19 pm, insgesamt 4-mal geändert.
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

gbglace
Reactions:
Beiträge: 2152
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 703 Mal
Danksagung erhalten: 812 Mal

#2

Beitrag von gbglace »

Hmm, denkbar wäre damit auch Text to Speech via Alexa und Co. um die passende Logik Textauswahl nach Events im TWS zu erledigen und nicht im NR wo dann wieder alles erstmal an Triggern ins NR gelangen muss (KNX und neu MQTT).

Sehr schön.
Grüße
Göran

-- --Timberwolf 2600 Velvet Red-- -- TWS #225 / VPN aktiv / Reboot OK

Ersteller
Dragonos2000
Reactions:
Beiträge: 1541
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 296 Mal
Danksagung erhalten: 600 Mal

#3

Beitrag von Dragonos2000 »

Noch ein Nachtrag, falls jemand den Baustein implementiert und im Doktormodus ansieht:
Aufgrund der Tatsache, dass ich "SendExplicit" verwende, sieht das Verhalten im Dokmode etwas seltsam/falsch aus. Wenn man allerdings auf den KNX Bus schaut seht man dann, dass die Ergebnisse erwartungsgemäß sind.
Während ich das hier schreibe fällt mir da der Umstand ein, wie sich "SendExplicit" mit anderen Technologien verhält: Ob das nur bei KNX funktioniert, oder hoffentlich auch bspw. beim Schreiben Richtung MQTT. Das habe ich noch nicht untersucht/überprüft.
Zuletzt geändert von Dragonos2000 am Mo Jun 07, 2021 10:23 am, insgesamt 2-mal geändert.
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

Robert_Mini
Reactions:
Beiträge: 2841
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 728 Mal
Danksagung erhalten: 1418 Mal

#4

Beitrag von Robert_Mini »

Mein Verständnis ist, dass das sendexplicit verhindert, dass ein Wert an den Dispatcher gesendet wird und damit sollte es für alle Technologien funktionieren.

Lg
Robert
Zuletzt geändert von Robert_Mini am Mo Jun 07, 2021 10:42 am, insgesamt 1-mal geändert.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / Wiregate-Fan
Antworten

Zurück zu „Zusätzliche Logikbausteine“