KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[TIPP] [V4.0 IP4] Custom Logik zur Steuerung einer Zirkulationspumpe

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.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten
Benutzeravatar

Ersteller
jensgulow
Reactions:
Beiträge: 473
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 75 Mal
Danksagung erhalten: 206 Mal

[V4.0 IP4] Custom Logik zur Steuerung einer Zirkulationspumpe

#1

Beitrag von jensgulow »

So, geschafft, aus 4 Logiken eine gemacht, welche mir die Zirkulationspumpe steuert.
Eingangssignal ist wach/schlafen -Objekt. Zusätzlich ein break bei Abwesenheit.
Schaltet früh für 5 min extra an (das macht früh insgesamt 10 min Laufzeit), dann alle 30 min 5 min.

Achso, und da meine Delock-Steckdosen über MQTT gerne "on" und "off" haben möchten musste noch ein Multiplexer dazu ...

Code: Alles auswählen

/**
 * Steuerung einer Zirkulationspumpe
 *
 * Früh nach dem Aufstehen 5 min extra, dann 5 min alle 30 min
 * Bei Abwesenheit ($Anwesenheit = 0) wird die Logik nicht ausgeführt
 */

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00",
    "Icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTIgMjFWMTVIMy41QzMuMTggMTQuMDYgMyAxMy4wNSAzIDEyQzMgNy4wMyA3LjAzIDMgMTIgM0gyMlY5SDIwLjVDMjAuODIgOS45NCAyMSAxMC45NSAyMSAxMkMyMSAxNi45NyAxNi45NyAyMSAxMiAyMUgyTTUgMTJDNSAxMy4yOCA1LjM0IDE0LjQ3IDUuOTQgMTUuNUw5LjQgMTMuNUM5LjE1IDEzLjA2IDkgMTIuNTUgOSAxMkM5IDExLjM1IDkuMjEgMTAuNzUgOS41NiAxMC4yNkw2LjMgNy45M0M1LjUgOS4wOCA1IDEwLjUgNSAxMk0xMiAxOUMxNC41OSAxOSAxNi44NSAxNy41OSAxOC4wNiAxNS41TDE0LjYgMTMuNUMxNC4wOCAxNC40IDEzLjExIDE1IDEyIDE1TDExLjcxIDE1TDExLjMzIDE4Ljk3TDEyIDE5TTEyIDlDMTMuMjEgOSAxNC4yNiA5LjcyIDE0LjczIDEwLjc2TDE4LjM3IDkuMUMxNy4yNyA2LjY4IDE0LjgzIDUgMTIgNVY5TTEyIDExQzExLjQ1IDExIDExIDExLjQ1IDExIDEyQzExIDEyLjU1IDExLjQ1IDEzIDEyIDEzQzEyLjU1IDEzIDEzIDEyLjU1IDEzIDEyQzEzIDExLjQ1IDEyLjU1IDExIDEyIDExWiIgLz48L3N2Zz4="
  },
    "Level":[
	// Inputs
        ["$Input","bool",false],	// entspricht Schlafenszeit (1 tagsüber, nachts 0)
		["$Anwesenheit","bool",true],

        ["$Timer_Vorlauf_Status","bool",false],
        ["$Timer_Vorlauf_Dauer","float",300],
        
        ["$Timer1_Status","bool",false],
        ["$Timer1_Dauer","float",2100],  
        ["$Timer2_Status","bool",false],
        ["$Timer2_Dauer","float",300],
        
        ["$Result","bool",false],

        ["$Out","bool",false],
        ["$On","string","on"],
        ["$Off","string","off"],
        ["$OutString","string","off"]
        
    ],
    "Module":[
	  // Bei Abwesenheit abbrechen
		["Break", ["-$Anwesenheit"]],
	
	  // Timer Vorlauf für Timer 2 starten
	  // Erster Durchlauf für 300 Sekunden direkt nach dem "Aufstehen"
	    ["Monoflop","$Input","-$Input","$Timer_Vorlauf_Status","$Timer_Vorlauf_Dauer",2],

	  // Timer Toggle1 startet bei fallender Flanke
	    ["And" , ["-$Timer_Vorlauf_Status" , "$Input"], "$Result"],
	  // Clocksignal mit Gesamtdauer 30min+5min (1800+300) = 2100
	    ["Clocksignal","$Result","$Timer1_Status","$Timer1_Dauer"],
	    ["Monoflop","$Timer1_Status","-$Input","$Timer2_Status","$Timer2_Dauer",7],
		
		["Or", ["$Timer_Vorlauf_Status", "$Timer2_Status"], "$Out"],
		
		["Multiplexer", ["$Off", "$On"], "$OutString", "$Out"]
    ],
    "Input":[
        ["Input","Input","$Input","c"],
        ["Anwesenheit","Jemand zu Hause?","$Anwesenheit","u"]
    ],
    "Output":[
        ["Output","Output","$OutString","a"]
    ]
}
Zuletzt geändert von Parsley am So Nov 26, 2023 4:41 pm, insgesamt 1-mal geändert.
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, VPN offen, Reboot erlaubt
genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa
Benutzeravatar

Parsley
Reactions:
Beiträge: 681
Registriert: Di Okt 09, 2018 7:27 am
Wohnort: 490..
Hat sich bedankt: 791 Mal
Danksagung erhalten: 425 Mal

#2

Beitrag von Parsley »

Moin Jens,

vielen Dank! Hier wird die Logik hoffentlich von vielen gefunden und ihnen helfen. :handgestures-thumbupright:
Zuletzt geändert von Parsley am So Nov 26, 2023 5:25 pm, insgesamt 1-mal geändert.
Gruß Parsley

Timberwolf Server 3500L #657 (VPN offen, reboot nach Absprache)
Bitte WIKI lesen.
Antworten

Zurück zu „Zusätzliche Logikbausteine“