Homey Community Forum

Gebruik digitale ingangen

Wie weet een apparaat op 230V met meerdere digitale ingangen op zwakstroom.
Nu gebruik ik de Fibaro universele binaire sensor op een batterij via z-wave.
Probleem nu is dat als deze via mesh netwerk werkt dat het signaal vertraagt.
De drie Fibaro’s zitten nu vlakbij homey en ik wil meer ingangen.

Wat wil je precies doen? Als je een beetje kunt programmeren kan je bv een Arduino of (beter) een Wemos D1 Mini bordje kopen; die werken niet direct op 230V, maar via een USB-adapter, en hebben een stuk of 8 digitale I/O poorten.

Meldingen van deuren open/dicht en vergrendeld/ontgrendeld.
Tevens schakelaars voor centraal uit.
Wand schakelaars van klik aan klik uit doen het niet altijd.
Een z-wave wandschakelaar kreeg ik niet aangemeld.(ligt nu nog bij de leverancier)
Zoek naar iets wat betrouwbaar werkt naar Homey.

Ik gebruik zelf een Wemos D1 i.c.m. Homeyduino. Dat werkt perfect maar ik weet niet of Homeyduino nog ondersteund wordt (zit zelf nog op versie 1.5.13). Een andere optie is een Tasmota geschikt apparaat i.c.m MQTT. Beide opties vereisen wel enige handigheid op gebied van flashen/programmeren.

Helaas heeft de Homey zelf geen digitale / analoge in- of uitgangen. Ik had gehoopt dat de Homey pro deze optie zou hebben maar helaas…

Hoi robertklep, Als ik een Arduina gebruik hoe koppel ik deze dan de Homey?

Hans, in deze post wordt dit uitgebreid besproken.

Hoi, ik heb ondertussen een PLC controlino in huis met 12/24V in/outputs die werkt met arduina. Aangesloten op mijn netwerk communiceert hij met Homey. Samen met mijn zoon probeer ik het programma te optimaliseren. Homey reageert bij A0-A7 op de positieve flank van de ingang en bij A8-A9 op de positieve en negatieve flank van de ingang. Graag wil ik in de flow van Homey configureren met “als ingang hoog wordt” “als ingang laag wordt” “en ingang is laag” “en ingang is hoog” “maak uitgang hoog” “maak ingang laag”.

Kan iemand ons verder helpen? Hieronder ons Ardino programma in de Controlino.

#include <SPI.h>
#include <Ethernet.h>
#include <Homey.h>

byte mac = { 0x48, 0x6F, 0x6D, 0x65, 0x79, 0x00 };

bool lastStateA0 = LOW;
bool lastStateA1 = LOW;
bool lastStateA2 = LOW;
bool lastStateA3 = LOW;
bool lastStateA4 = LOW;
bool lastStateA5 = LOW;
bool lastStateA6 = LOW;
bool lastStateA7 = LOW;
bool lastStateA8 = LOW;
bool lastStateA9 = LOW;

void setup() {
//Serial.begin(115200);
//Serial.println(“Starting ethernet…”);
Ethernet.begin(mac);
//Serial.print("IP address: ");
//Serial.println(Ethernet.localIP());

Homey.begin(“PLC”);
Homey.setClass(“sensor”);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
pinMode(A6, INPUT);
pinMode(A7, INPUT);
pinMode(A8, INPUT);
pinMode(A9, INPUT);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}

void loop(){
Homey.loop();

bool readingA0 = digitalRead(A0);
bool readingA1 = digitalRead(A1);
bool readingA2 = digitalRead(A2);
bool readingA3 = digitalRead(A3);
bool readingA4 = digitalRead(A4);
bool readingA5 = digitalRead(A5);
bool readingA6 = digitalRead(A6);
bool readingA7 = digitalRead(A7);
bool readingA8 = digitalRead(A8);
bool readingA9 = digitalRead(A9);

if (readingA0 != lastStateA0) { if(readingA0) { Homey.trigger(“A0_VD-tag”, true); } digitalWrite (2, readingA0); }
if (readingA1 != lastStateA1) { if(readingA1) { Homey.trigger(“A1_VD-slot”, true); } digitalWrite (3, readingA1); }
if (readingA2 != lastStateA2) { if(readingA2) { Homey.trigger(“A2_VD-dicht”, true); } digitalWrite (4, readingA2); }
if (readingA3 != lastStateA3) { if(readingA3) { Homey.trigger(“A3_AD-tag”, true); } digitalWrite (5, readingA3); }
if (readingA4 != lastStateA4) { if(readingA4) { Homey.trigger(“A4_AD-slot”, true); } digitalWrite (6, readingA4); }
if (readingA5 != lastStateA5) { if(readingA5) { Homey.trigger(“A5_AD-dicht”, true); } digitalWrite (7, readingA5); }
if (readingA6 != lastStateA6) { if(readingA6) { Homey.trigger(“A6_SD-slot”, true); } digitalWrite (8, readingA6); }
if (readingA7 != lastStateA7) { if(readingA7) { Homey.trigger(“A7_SD-dicht”, true); } digitalWrite (9, readingA7); }
if (readingA8 != lastStateA8) { Homey.trigger(“A8_CU-voor”, true); digitalWrite (10, readingA8); }
if (readingA9 != lastStateA9) { Homey.trigger(“A9_CU-achter”, true); digitalWrite (11, readingA9); }

lastStateA0 = readingA0;
lastStateA1 = readingA1;
lastStateA2 = readingA2;
lastStateA3 = readingA3;
lastStateA4 = readingA4;
lastStateA5 = readingA5;
lastStateA6 = readingA6;
lastStateA7 = readingA7;
lastStateA8 = readingA8;
lastStateA9 = readingA9;

}

Goedemorgen Hans,

Ik ben eigenlijk benieuwd of jij inmiddels controllino goed hebt werken icm de homey. Ik ben al lange tijd op zoeken naar ingangen en uitgangen welke ik kan sturen / inkoppen op de homey zodat ik randapparatuur potentiaal vrij kan aansluiten. Ik zag in het forum dat jij dit met de controllino probeerde op te lossen. werkt deze en zo ja ook goed met versie 2.0? Welke app gebruik je hiervoor? homeduino? Graag je reactie en of je me kan helpen. dat zou top zijn.

Gr. Vincent

Heb je dit wel eens bekeken?

Hallo Jan,

Rik heb dit inderdaad al eens ingesteld maar dan met een arduino bordje. Ik zocht alleen naar een vaste interface maar als ik alles goed begrijp kan ik met de homeyduino dit programma zo in de controlelino zetten. klopt dit?

Gr. vincent

Zelf ken ik de CONTROLLINO niet en ook het programma heb ik niet gebruikt, maar Google vertelde mij zojuist dat de “CONTROLLINO 100% Arduino compatible” is, dus dat moet lukken als hij een netwerk kaartje heeft, ik schrok wel een beetje van de prijs maar dat is persoonlijk. Zelf denk ik meer aan een ESP8266 of ESP32 gebaseerd bordje o.i.d. zie b.v. ook https://huisvanvandaag.nl/multi-sensor-homeyduino/

Hoi Vincent,

Aan het programma van de controlino heb ik nog niets veranderd.
Met kennis van elektrotechniek en een beetje plc programmeren ga ik toch binnenkort weer proberen om mijn volgende wensen er in te krijgen.
Maar dit is een heel andere taal dan dat ik gewend ben.
Wat er nu in zit werkt sinds april naar behoren op de nieuwste versie (ondertussen V3.5.1) van Homey met de app Homeyduino.
Als er nieuws is zal ik dat hier vermelden.

Groeten, Hans.