Welkom

Calvin Consultancy is anders dan andere bedrijven. De wensen van de klant staan bij ons voorop! Of het nu gaat om een groot ERP traject of Domotica. Kijk gerust rond op onze site of stuur een mailtje naar kees.buth@calvin.nl.

Kees

Kees is altijd de drijvende kracht achter Calvin geweest. Van het prille begin met DataFlex trainingen tot het gehoorzame huis van Inge. Lees hier meer over Kees

 

Inge

Inge Heijna is een in 2011 afgestudeerde Juriste (deeltijd HBO) en sinds de jaren 80 van de vorige eeuw de partner van Kees. En nu dus ook zijn leidinggevende.

Lees meer Over Inge

Of mail haar: Inge.Heijna@Calvin.nl

Classify

Classify was een DataFlex klassenbibliotheek die ontwikkelaars de mogelijkheid gaf om snel stabiele applicaties in DataFlex te bouwen. In 1992 werd Classify zelfs uitgeroepen tot de Beste Datafkex tool.

Beveiliging

Middels de hard- en software van ACTI kun je objecten prima in de gaten houden. Zo heeft een relatie diverse camera's in haar winkel (in Den Haag) laten aanleggen. De beelden worden bij Calvin Consultancy opgeslagen zodat er bij problemen altijd opnames zijn. Uiteraard houdt Calvin Consultancy de netwerkverbinding in het oog,

Lees hier verder: Beveilig uw spullen of mail kees.buth@calvin.nl 

Nadruk

Toeval bestaat niet. Of toch wel?

Kijk hier (Nadruk) voor onze ervaringen.

 

Calvin Consultancy is een automatiseringsadviesbedrijf. Hoewel we natuurlijk ook werk uitvoeren en algemene diensten & goederen leveren ligt de nadruk vooral op advisering. Calvin Consultancy staat altijd NAAST de klant en zoekt naar de beste oplossing.

Na ruim 10 jaar met personeel te hebben gewerkt is Kees sinds 2001 weer zelfstandig nadat de samenwerking met een Navision-dealer in Den Bosch was stukgelopen.

In 2011 werden de kaarten wederom behoorlijk geschut door de diagnose 'Multiple Sclerose'. Dus Kees was gedwongen om grote, stressgevoelige projecten af te bouwen. Maar helemaal stil zitten is niks voor Kees. Dus droeg hij de dagelijkse leiding van zijn bedrijf over aan zijn partner Inge Heijna en onder haar leiding richt hij zich nu vooral op kleinere (advies) projecten, onder andere op het gebied van internet, telefonie en domotica.

Hieronder wat leestips. Maar vergeet niet om op 'Read more' te klikken voor het volledige artikel!

Het beheerde modem

De meeste providers bieden Internet aan met hun eigen modem dat natuurlijk standaard is ingesteld op de meest voorkomende situaties. Maar daarna wordt u aan uw eigen lot overgelaten.

Calvin Consultancy denkt anders over klanten. Die laat je niet aan hun lot over. Die help je wanneer nodig. En het liefst los je een probleem op voordat de gebruiker merkt dat het bestaat. Ons 'managed modem' is daarop gebaseerd. We installeren een modem annex router (en eventueel extra access points) van Draytek (2860), we zorgen voor de juiste inrichting op baxis van uw wensen en uw PROVIDER. Maar daar stopt het niet! Uw systeem wordt continu door ons systeem bewaakt en als er een verstoring optreedt, dan wordt er direct een alarm gegenereerd zodat we kunnen kijken wat er aan de hand is en hoe we het op kunnen lossen.

Verbazingwekkend China

Je bent toch altijd wat wantrouwend als je in China bestelt. Ook al doe je dat via een bekende website als AliExpress. Maar gelukkig sta je ook nog wel eens verbaasd!

Ik wilde graag sensoren op de ramen zodat de dagelijkse 'wandeling langs de ramen' achterwege zou kunnen blijven. Via de HomeSeer website vond ik een link naar een sensor, maar ik had er minimaal 5 nodig. Dus nog even verder gekeken. Uiteindelijk uitgekomen op deze website:

https://www.aliexpress.com/snapshot/0.html?spm=a2g0s.9042647.6.2.dzlcfE&orderId=86753279001092&productId=32697189818

5 sensoren, zeg maar 6 Euro per stuk. Geen diepte-investering en door het berichtje op het HomeSeer forum wist ik dat ze ook met RFxCom konden werken.

De levering was sneller dan verwacht (zelfs sneller dan wat op de website als verwachte levertijd staat) met keurige Track&Trace. Natuurlijk het pakketje uitgepakt en direct de sensoren koppelen. Wel per stuk want HomeSeer houdt ze wel uit elkaar, maar 5 op je bureau vraagt om verwisseling:). 

De eerste vier werkten direct, alleen de vijfde gaf en geeft helaas gaan RF signaal af. Vervelend want ik had er echt vijf nodig. Dus ondanks het kleine 'schadebedrag' toch maar een klacht ingediend. Ik ben keurig geholpen en heb uiteindelijk de 'schade' als korting op de volgende order weer teruggekregen!

Complimenten voor mevrouw Li en haar ondersteuning! Ik ken Nederlandse leveranciers die hier een voorbeeld aan kunnen nemen!

 

 

 

Het gehoorzame huis

Is een huis slim, of heeft u liever dat uw huis gehoorzaam is? 

De term 'slim' wordt vaak gebruikt als we het hebben over de nieuwere apparaten die je via afstandsbedieningen, timers of zelfs interactie tussen apparaten kunt bedienen. Tuurlijk is het leuk dat het licht aangaat als je thuiskomt, maar is dat nu een 'slim huis' of gewoon een 'gehoorzaam huis' omdat je ergens hebt opgegeven dat je wilt dat het licht aangaat als je de achterdeur open doet? En als je vergeet op te geven dat het systeem dat niet mag doen als je vrouw nog op bed ligt wordt je er nog dagen aan herinnerd dat JIJ niet zo slim bent. Je vrouw zal nooit het huis verwijten niet slim te zijn!

Internet en meer

Internet is niet meer uit ons leven weg te denken. En de aanbieders doen hun best om het allemaal zo makkelijk mogelijk te maken met gratis monteurs en router of modem. Maar die monteur sluit aan volgens zijn (standaard) recept. Maar is dat wel het recept dat u lekker vindt?

De slimme verwarming

Een nadeel van een groot, oud huis is: ook een grote, complexe verwarming. De grote huiskamer met stenen vloer riep bijna om vloerverwarming. Maar de andere ruimtes, met voor een deel zelfs houten vloeren, waren niet echt geschikt voor vloerverwarming. Na een eerste poging met één totaalsysteem is het gesplitst naar twee zones met ieder een eigen thermostaat. Dat werkte prima met Kees in het (in house) kantoor en Inge op haar (externe) werk. Maar met de gewijzigde omstandigheden met Inge steeds vaker in haar (in house) kantoor en Kees steeds minder op zijn kantoor (maar wel vaak elders in huis) bezig, had dat vaak onnodig verwarmde ruimtes dan wel onprettig koude kamers tot gevolg. Hoog tijd dus om het een ander aan te passen. En Domotica (in ons geval dus HomeSeer) biedt dan een prima startpunt.

Als eerste denk je natuurlijk aan slimme thermostaatkranen, zoals bijvoorbeeld de Popp.

Maar ook daar waren wel wat uitdagingen. Natuurlijk is het de ketel die energie verbruikt en die moet wel aanstaan als een slimme thermostaat bedenkt dat er warmte nodig is. Dus de eerste wens was om de ketel afhankelijk te maken van de thermostaatkraan (of eigenlijk: thermostaatkranen). 

Maar we moesten wat meer stappen zetten:

Een speciaal script

De ketel en kleppen schakelen

Ingebouwde radiatoren

Deeloplossing 1: Het script

De eerste component werd dus een script dat de gewenste temperatuur vergelijkt met de gemeten temperatuur. Aangezien de Popp-kraan ook een temperatuursensor heeft die dus hetzelfde Node-adres heeft, was het vrij eenvoudig om een script te maken dat voor alle Nodes kijkt of ze en een 'Setpoint' (gewenste temperatuur) en een temperatuursensor hebben. Zo ja, dan worden beiden uitgelezen en vergeleken. Is de gevraagde temperatuur hoger dan de actuele temperatuur, dan is er werk aan de winkel.

Omdat dit script mooi universeel gemaakt kan worden, kun je gemakkelijk een extra kraan toevoegen en het script zal die automatisch oppakken.

Leuk script, maar je zult straks merken dat het script nog lang niet klaar is!

Deeloplossing 2: De ketel en kleppen schakelen

Het script bepaalt of de ketel aan de slag moet. Maar dan moeten we dat ook nog aan de ketel vertellen. Omdat het totaalsysteem twee zones kent moet uiteraard ook de klep voor de 'Radiator zone' open worden gezet. Gelukkig waren er al automatische kleppen geïnstalleerd, zodat we alleen ervoor hoeven te zorgen dat we de klep van stroom voorzien. En dan wordt direct de ketel geschakeld door een intern relay in de klep.

Om de 24V die nodig is voor de klep te leveren maak ik gebruik van een Fibaro dubbel relay (er zitten twee kleppen: één voor de radiatorenzone en één voor de vloerverwarmingszone). Alleen hoewel het een dubbel relay heet, is het dat niet helemaal. Er is maar één voeding. Dus kon ik niet de twee 7W voedingen gebruiken maar heb ik een beltrafo van 30W gekocht (een beltrafo is veel voordeliger dan een echte voeding). Dan kunnen beide relays tegelijk worden geactiveerd (zal niet vaak gebeuren, maar je wilt niet midden in de winter met een defecte c.v. zitten).

En natuurlijk moeten we het relay aansturen met het resultaat van het bovenstaande script.

Dit is het schema van de Fibaro multi-sensor:

Voor onze toepassing gebruiken we alleen de vier 'onderste' aansluitingen. Voor P (Plus) en Gnd (de '-') moeten we een losse gelijkstroomadapter aansluiten (de beltrafo die we voor de kleppen gebruiken is wisselspanning). Vervolgens sluiten we de eerste thermostaat aan op Gnd en IN 1 en de tweede op Gnd en IN 2.  

Als je de Sensor hebt opgenomen in HomeSeer zal het je opvallen dat het niet helemaal werkt zoals je had verwacht: de status wisselt HEEL kort als de thermostaat aan- of uitgaat. Om dat te corrigeren moeten we een instelling in de Sensor aanpassen:

Maar als je dan kijkt in Device Management kun je nog wel even in de war raken:

Let op: Ik heb de NAMEN en LOCATIES alvast gewijzigd, maar je zou heel makkelijk kunnen denken dat de twee lamp-icoontjes voor de twee inputs staan. Je moet echter kijken naar het TYPE. Dan zie je dat je regels 3 en 5 moet hebben. Via de Status Graphics pagina kun je het een en ander aanpassen (en ik heb voor de duidelijkheid OOK nog de thermostaat van het kantoor wat hoger gezet).

En de aangepaste details:

 

en

Nu alleen het script aanpassen zodat de thermostaat in het kantoor wordt meegenomen (zie verder). En twee events aanmaken voor het reageren op de vloerverwarmingsthermostaat.

Ik heb zelf ook nog een tussenstekker gebruikt om de vloerpomp aan en uit te zetten (plus een script om te zorgen dat de pomp zeker één keer per dag een kwartier draait). Op naar de volgende uitdaging!

De volgende uitdaging

Ok, de volgende uitdaging is heel specifiek voor bepaalde situaties. Maar wij hebben die genoeg. Wat als de radiator is ingebouwd in de vensterbank? Of als de plaatsing zodanig is dat de gemeten temperatuur niet echt represensatief is?

In dat soort situaties is het idee om de temperatuurmeter op de kraan te gebruiken niet echt praktisch meer. Bij een ingebouwde radiator zal de 'kast' zal altijd warmer zijn dan de kamer. Dus dan daar maar een losse temperatuursensor en het script wat aanpassen. Voor de kamers waar geen thermostaat aanwezig is, is de keuze simpel: gewoon een Z-Wave multi-sensor. Is het gewoon een kwestie van de juiste sensor testen en vergelijken met een gewenste temperatuur. Maar dat is in dit geval dus niet de op de kraan ingestelde temperatuur! 

Maar hoe stel ik die temperatuur in? Los van plannen van het zelf maken van nieuwe device types middels een plug in (dat plan gaat even op de plank) is er een veel simpelere oplossing. Maak voor iedere ruimte een virtueel device aan (gewoon via Device Management en dan het plusje). Maar we willen niet een gewone Aan-/uitschakelaar, dus ga na het aanmaken van het device naar het Status Graphics tabblad en maak een waarderange aan.

Om het helemaal mooi te maken kun je natuurlijk nog de graphics aanpassen, maar dat is in feite luxe. Denk wel aan de Copy functie als je één temperatuur voor verschillende kamers in wilt stellen en dus meerderer Virtuele Devices nodig hebt!

Met zo'n virtueel device stel je gewoon via de webinterface de gewenste temperatuur in:

En natuurlijk kan dat ook met Events. 

Alleen, hoe weet het Script dat dit een temperatuur instelling is en welke temperatuursensor moet worden gebruikt om te vergelijken zonder dat we alles 'hard' in het script programmeren? Dus terug naar het script.

Het Script DeLuxe

We hebben twee dingen die we in het script gebruiken: Heating SetPoint (de gewenste temperatuur) en de Temperature (de gemeten temperatuur). Van die twee is het SetPoint de belangrijke sturing van de ketel, al zijn sommige SetPoints uiteindelijk niet relevant. Zo zal het Setpoint van de kraan in een radiatorkast er zijn, maar de temperatuur (en dus ketel) moet worden gestuurd op basis van een ander SetPoint en andere temperatuurmeter.

De eerste optie is dus dat we willen dat je een bepaald SetPoint uit kunt schakelen. Om extra kenmerken aan een Device te koppelen kunnen we het CODE veld gebruiken. Maar anders dan 'Negeren', wat willen we nog meer? Het is goed om even alle keuzes helder te hebben voordat we letters en cijfers gaan toekennen.

We hebben hiervoor al even aangegeven dat we bij een SetPoint ook een temperatuurmeter in een andere NODE toe willen wijzen. Dus het adres van de sensor is ook een mogelijk argument.

Dan is er nog een extra optie te bedenken: veel moderne ketels hebben een zogenaamde 'modulerende' brander: die werkt optimaal als je de ketel niet continu aan- en uitzet. Je zou kunnen zeggen 'laat de ketel maar branden van opstaan tot naar bed gaan'. Maar dat is wellicht iets te simpel. Natuurlijk zorgt de ketel er zelf voor dat de brander wat lager gaat als alle radiatorkranen dicht zijn. Maar als we 'zeker' weten dat er niets meer nodig is, dan mag die ketel toch gewoon uit?

Om te voorkomen dat de ketel continu uit-/aangaat zou je kunnen sturen op de Setpoint -/- een modulatie-offset. Dus zeg het Setpoint is 21 graden, de offset 5 en de huidige temperatuur is 22, dan schakel je de ketel NIET uit. Dat gebeurt pas bij 26 graden OF als het Setpoint wordt aangepast naar bijvoorbeeld 11 graden.

De radiatorkraan zal WEL gewoon dichtgaan bij 21 graden. Daardoor wordt het water minder gekoeld en blijft dus warmer, waardoor de ketel gaat moduleren. In de praktijk zal de ketel alleen worden uitgeschakeld als alle Setpoints voldoende verlaagd zijn. Zo maken we optimaal gebruik van de modulerende eigenschappen van de ketel en zorgen we er tegelijkertijd voor dat de ketel niet te vaak of te lang brandt.

Tenslotte moeten we nog weten in welke zone een radiator (of eigenlijk: een SetPoint) valt.

Dus wat moeten we weten:

  • SetPoint negeren voor ketelsturing
  • Temperatuurmarge voor Moduleren
  • Zone
SetPoint negeren

We willen natuurlijk zo veel mogelijk zaken gewoon bij het appareaat zelf opgeven. Daarvoor kunnen we het CODE-veld gebruiken. De code bestaat uit een letter en een cijfer. 'Wel/Niet overslaan' kunnen we makkelijk doen op basis van een letter en de 'O' is dan wel een logische keuze.

Let op: HomeSeer wil perse dat je ook een cijferdeel opgeeft, dus gebruik O1 als code!

Moduleermarge

Als we een SetPoint over moeten slaan, speelt voor dat SetPoint ook geen Moduleermarge mee. Dus we kunnen een 'M' gebruiken in het CODE-veld als we een Moduleermarge aan willen houden. In het getaldeel kunnen we dan aangeven hoe groot de marge is (in graden).

Keuze zone

Het laatste punt dat we moeten aangeven is de Zone. We gaan er vanuit dat er in ons geval maximaal 2 zones zijn (vloerverwarming en radiatorverwarming). Dit zijn ook de twee vormen met hele eigen karakteristieken. Je kunt ze alle twee nog onderverdelen, maar dan heb je toch nog gelijksoortige eigenschappen dus je kunt dat makkelijk op radiatorniveau oplossen.

Dat kunnen we eenvoudig doen door de 'Device Type string'. Daar kunnen we 'Heating SetPoint Main  neerzetten of 'Heating SetPoint Aux.' en dat testen we dan af in het script.

De volledige instellingen voor een radiatokraan zijn dus:

En

Als je deze instelling eenmalig maakt hoef je alleen nog de eigenlijke gewenste temperatuur aan te passen:

Nu alleen zorgen dat het script dit ook respecteert!

Welk SetPoint moet ik gebruiken?

We zijn tot nu steeds uitgegaan van SetPoint en temperatuur in één Node. Prima voor de meeste Z-Wave thermostaatkranen. Maar als die kraan in een kast zit en de temperatuur door een losse unit (bijvoorbeeld een multi-sensor) wordt gemeten, zal het SetPoint een virtuele schakelaar zijn die dus met een losse thermometer moet worden vergeleken.

Wij hebben de basis voor die koppeling al gelegd bij de kranen: de code. Als we de thermometer een SetPoint opgeven kunnen we bij het SetPoint ook nog een modulatiemarge opgeven. Al zul je dat in dit geval niet willen: de ruimte wordt dan wel erg warm omdat er geen 'precieze' radiatorkraan is.

De 'icing on the cake'

Als we alle meetpunten combineren komt er een simpel Ja/Nee uit. En daarmee kunnen we het relay uit het begin van dit artikel schakelen. Alleen hebben we nog geen rekening gehouden met de thermostaten. Nu zijn die simpel: 'AAN' van de sensor is ook direct inschakelen van de zone want de thermostaat heeft al een vergelijking gemaakt tussen de werkelijke temperatuur en de ingestelde temperatuur. Maar met die aanpassing er nog bij hebben we een 'super slim' verwarmingsscript dat er ook nog voor zorgt dat de energiekosten van onze verwarming omlaag gaan!

We hebben er zelfs voor gekozen om in plaats van de fysieke thermostaten gebruik te gaan maken van losse temperatuursensoren en virtuele Setpoints.

Waarom? Vooral omdat de Setpoints makkelijker zijn aan te passen dan het programma van de thermostaat. Zo kan ik het Setpoint van de werkkamer gelijk aanpassen aan de instelling 'Werk/Geen werk' (in mijn kantoor) omdat ik een dagje vrij heb of elders in het huis werk en dan hoeft de verwarming in mijn kantoor niet aan te zijn. 

En als we de aanwezigheid instellen op 'Vakantie' gaan automatisch ook beide verwarmingszones in de spaarstand. Kunnen we dat dus niet vergeten!