Pagina 1 van 2

Gira Homeserver DIY Logic Modules

Geplaatst: di 26 nov 2013, 03:39
door 747driver
Naar aanleiding van dit topic en de daarin genoemde "dezimalzeit to string" logic module van Rainer Trier heb ik m'n GLE pagina's eens doorplozen om te zien of er nog meer berekeningen waren welke konden worden vereenvoudigd.
Heb wat contact gehad met Rainer en ben vervolgens begonnen met het zelf maken van logic modules.
De module van Rainer heb ik herschreven en aangepast aan m'n eigen behoeften.
Heb er nu 1 welke de kloktijd weergeeft met voorloopnul en 1 welke dit doet zonder voorloopnul.
Beiden met 2 uitgangen, (h)h:mm en (h)h:mm:ss
Had hier kortgeleden nog een flinke groep modules voor nodig...

Net weer een module gemaakt voor het weergeven van verbruikt vermogen.
Als ingang heb ik de stroomwaarde komende van een Gira 104600 schakelaktor met stroom detectie + een vaste waarde (voorlopig) voor de spanning.
De 2 uitgangen geven de stroomwaarde in mA als string (bv 453 mA) en het wattage als string (bv 106 W).
Deze worden in QC en de Gira apps op 1 lijn weergegeven in de Date/Time function template.
Deze module (heb 'm 10350_Amp_Watt.hsl genoemd) ziet er als volgt uit:

Code: Selecteer alles

#######################
###    Amp_Watt     ###
#######################
5000|"747driver\Elec. energie"|0|2|"mA"|"Voltage"|2|"mA"|"Watts”|
5001|2|2|0|0|1
5002|1|0|0	    # Input Amps EIS5
5002|2|0|0	    # Input voltage as number
5004|1|""|0|1|1     # Output Amps as text
5004|2|""|0|1|1     # Output Watts as text
5012|0|""|"str(int(round(EN[1])))+ ' mA'"            |""|1|0|0|0
5012|0|""|"str(int(round(EN[1]*EN[2]/1000)))+' W'"|""|2|0|0|0

Re: Gira Homeserver DIY Logic Modules

Geplaatst: wo 27 nov 2013, 19:11
door pvhuf
:P Thumbs up!

Re: Gira Homeserver DIY Logic Modules

Geplaatst: wo 27 nov 2013, 22:45
door 747driver
OSX is standaard voorzien van Python, Windows wellicht ook?
Handig voor het testen van formules.
Python.jpg
Python.jpg (15.71 KiB) 16473 keer bekeken

Re: Gira Homeserver DIY Logic Modules

Geplaatst: vr 06 dec 2013, 15:02
door 747driver
Heb nog een module samengesteld.
Had een functie in gebruik voor het instellen van de CV watertemperatuur.
Hierbij gebruik ik een soort economy mode waarbij de CV watertemperatuur (voor de vloerverwarming) op 40 graden wordt ingesteld.
Wanneer die temperatuur boven de 40 graden komt dan wordt de target temperatuur de actuele temperatuur - 1 zodat de ketel uiteindelijk volledig terug moduleert.
Indien het modulatie percentage 0 is en de temperatuur > 40 graden dan wordt de target gelijkgesteld aan de actuele temperatuur om te voorkomen dat de ketel afslaat.
Had hier eerst 10 modulen voor nodig en een hoop input boxes om het overzichtelijk te houden.
Nu ziet het er een stuk simpeler uit...
CHC.jpg
CHC.jpg (18.67 KiB) 16448 keer bekeken
Ben al weer bezig met een aangepaste IntToString module met een stuk meer in en uitgangen.
Zo heb ik voor de Theben KNX-OT-Box veel (25) van die modules in gebruik om alle parameters als tekst zichtbaar te maken in de Gira app.
Een module met zeg 10 in/uitgangen ziet er wat overzichtelijker uit.

Re: Gira Homeserver DIY Logic Modules

Geplaatst: zo 15 dec 2013, 22:54
door 747driver
Nog 1, stuurt iedere minuut/uur/dag/week/maand/jaar een 1.
Gebruik 'm voor waterverbruik en bronpomp cycles.
Time Resets.jpg
Time Resets.jpg (37.79 KiB) 16407 keer bekeken

Re: Gira Homeserver DIY Logic Modules

Geplaatst: ma 16 dec 2013, 21:03
door pvhuf
Die Time Resets module, waar heb je die gevonden (linkje, linkje :P )? Of zelf geschreven (code, code :P )?

Re: Gira Homeserver DIY Logic Modules

Geplaatst: ma 16 dec 2013, 21:35
door 747driver
Bericht verwijderd aangezien de beschreven functie niet volledig juist werkte.
Verderop in dit topic staat een gecorrigeerde versie (in bericht geschreven op vr 28 maart 2014, 17:37).

Re: Gira Homeserver DIY Logic Modules

Geplaatst: ma 16 dec 2013, 22:26
door 747driver
Hmm, met die 1 werkt het uiteraard niet aangezien de conditie erachter True is wanneer de seconde ingang 0 is...
Heb nu de volgende regel als eerste 5012 regel:
5012|1|"EC[1] and EN[1]<>0"|"" |""|0|0|0|0
Wanneer nu seconde ongelijk aan 0 is, is de conditie True en worden de volgende 5012 regels niet uitgevoerd.

Re: Gira Homeserver DIY Logic Modules

Geplaatst: di 17 dec 2013, 01:53
door 747driver
Net getest door het toevoegen van een extra uitgang (#7) en de volgende regel:
5012|0|"EC[1] and EN[1]<>0"|"EN[1]"|""|7|0|0|0
Oftewel bij ontvangst van een telegram op input 1 en wanneer de inhoud ervan ongelijk is aan nul, schrijf dan de waarde van dat telegram naar uitgang 7.
Zonder onderstaande regel kreeg ik keurig iedere seconde op uitgang 7.
Na het plaatsen ervan als eerste regel wordt eerdergenoemde regel niet meer uitgevoerd wanneer seconds<>0
5012|1|"EC[1] and EN[1]<>0"|"" |""|0|0|0|0 # Skip de rest indien seconds<>0
Scheelt weer wat processor tijd ;)

Re: Gira Homeserver DIY Logic Modules

Geplaatst: di 17 dec 2013, 19:17
door pvhuf
Goed bezig. Als je zo verder doet, kan je misschien bij DACOM een eigen range krijgen. ;)