Plugin 034
Dit onderwerp wordt nog nader uitgewerkt.
Inhoud
plugin gegevens
plugin naam | Cresta |
plugin nummer | 034 |
Productnummer | Product nummer:SWACDE-34-V10 |
Versie | 1.0 |
Compatibiliteit | Nodo versie 3.7 en hoger |
Auteur | Forumlid Voyager - William |
Support | http://www.nodo-domotica.nl/forum/ |
Download | Plugin_034.c |
Toepassing
De Nodo is in staat om van bepaalde Cresta weerstation buitensensoren de temperatuur, regen en windinformatie te ontvangen. De meetwaardes kun je via de WebApp laten bijhouden. Hieronder vind je een beschrijving hoe je dit kunt realiseren.
Funktionele beschrijving
De Cresta buitenunit zendt het signaal door op de 433 MHz band met het OOK protocol. Omdat de Nodo hetzelfde protocol gebruikt op dezelfde frequentie, is het mogelijk om met deze plugin code de signalen te onderscheppen en te decoderen. De meetwaarden worden in de Nodo omgezet naar Nodo uservariabelen en kunnen dan worden doorgezonden naar de WebApp.
Meetwaardes
De Cresta meetwaardes zijn als volgt:
Temperatuur in graden Celcius Luchtvochtigheid in %relatieve luchtvochtigheid Regenwaarde in millimeter Windsnelheid in meter/sec Windpieksnelheid in meter/sec Windrichting als numerieke waarde (de webapp heeft geen mogelijkheden om dit anders weer te geven)
Installatie
- download de plugin code en plaats deze als bestand 'plugin_008.c' in de directory ../plugins
- open het configuratiebestand 'config_nn.c' uit de directory ../Config, waarbij nn het Nodo pluginnuummer is.
- voeg de volgende regels toe:
#define PLUGIN_034 #define PLUGIN_034_CORE
Compileer en upload de code naar je Nodo.
Hardware
De Cresta weerstations zijn o.a. te koop bij diverse webshops en zijn goed verkrijgbaar. Er is geen hardware aanpassing nodig op de Nodo, aangezien alles via de bestaande RF ontvanger gaat.
Ondersteunde weerstations: Cresta
Syntax
Het plugin is een input plugin. De configuratie vindt tijdens boot plaats met een commando en bij ontvangst van het signaal worden events gegenereerd. Het commando kan worden gebruikt in scripts, vanaf de command-line of vanuit de eventlist. Het commando kan als volgt worden opgegeven:
Cresta <id>, <variabele>
Parameter: | Beschrijving: | Bereik: | Opmerking: |
---|---|---|---|
ID | Unit ID van de buitensensor (uniek per unit, wijzigt na plaatsen batterij!) | 1..255 | |
Variable | Nummer van de 1e variabele waarin de gegevens worden opgeslagen. Alleen de eerste variable (basisvariable) moet ingevoerd worden, de andere 5 (opeenvolgende)worden door de plugin toegekend. (Er worden dus totaal 6 variable gebruikt) | Mega: 1 t/m 10, Small: 1 t/m 3 |
Opmerking over het begrip "basisvariabele: dit is het laagste nummer uit de reeks van zes die worden gevuld. Geef je bijvoorbeeld 5 op, dan worden de variabelen 5 tot en met 10 gevuld.
Als geen commando is gegeven, dan worden binnenkomende events getoond als Cresta <id>,0. Hieraan kun je zien welk ID je moet gebruiken.
Voorbeeld Commando
Eventlistwrite; boot 1; Cresta 119,1
Schakelt detectie van unit 119 in en gebruikt:
variabele 1 om de temperatuur in op te slaan variabele 2 om de luchtvochtigheid in op te slaan variabele 3 om de regenwaarde in op te slaan variabele 4 om de windsnelheid in op te slaan variabele 5 om de windrichting in op te slaan variabele 6 om de piek windsnelheid in op te slaan
Voorbeeld Eventlist
We gaan er hierbij vanuit dat je dit script uitvoert op een Nodo met unit nummer 1, anders moet je dat in het script aanpassen (boot <nummer>). Na invoeren van het script moet je de Nodo herstarten om de timer te laten lopen en de Cresta registratie actief te maken.
eventlistwrite; boot 1; Cresta 113,1; ! ID van jouw buitenunit eventlistwrite; boot 1; TimerSet 1,300; ! Start de timer (5 minuten) eventlistwrite; Time 00:00; VariableSet 3,0; ! Reset regen dagteller eventlistwrite; Timer 1; TimerSet 1,300; ! Reset de timer eventlistwrite; Timer 1; VariableSend 1,HTTP; eventlistwrite; Timer 1; VariableSend 2,HTTP; eventlistwrite; Timer 1; VariableSend 3,HTTP; eventlistwrite; Timer 1; VariableSend 4,HTTP; eventlistwrite; Timer 1; VariableSend 5,HTTP; eventlistwrite; Timer 1; VariableSend 6,HTTP;