Progetto in costruzione domotica

Ciao a tutti,
sono Pris e volevo cimentarmi in un progetto che ho sempre desiderato.
Premetto che l'impianto elettrico di casa l'ho montato io con l'aiuto di un mio amico elettricista che parteciperà con me dal lato fisico della costruzione e premetto anche che per ora l'arduino è montato sul mio tavolo per provare, quindi non ho nessuna fretta.
Vorrei anche aggiungere che per il 70% (per ora) dell'impianto elettrico delle luci di casa viaggia a 12V perchè è quasi tutto a LED.

Volevo costruire un sistema per poter controllare tutta la casa tramite web e tramite pulsanti fisici, dal riscaldamento, al condizionamento, alle luci, ecc; settando magari delle funzioni per poter gestire certi effetti scenici.

Per ora il progetto l'ho basato solo sulle luci, piccole movimentazioni(tende da sole giù e sù) e sul riscaldamento per non complicarmi la vita ma sono sicuro che le possibilità sono infinite e che lungo il mio percorso troverò altre cose da aggiungere.

Ora arriviamo al dunque... chiedo qualche info...
Mi sono basato su uno sketch già esistente e ho provato ad adattarlo(fino ad ora sono riuscito solo con la gestione delle temperature automatica dei 2 piani di casa) in futuro vorrei vedere come poter gestire dal web le temperature

il materiale in mio possesso è
1 scheda - 8 relè HL-58S V1.2
8 schede - 2 relè HL-52S V1.0
26 schede - 1 relè
1 scheda - Arduino MEGA 2560
1 scheda - Ethernet W5100
2 sensori - DS18B20 (quelli con resistenza integrata)

Il problema è che per ora sono fermo a 2 fattori:
-vorrei comandare i relè sia da web che da bottone ma non riesco ad interfacciarli su questo sketch
-sulla pagina web del server non riesco ad accumulare comandi GET (se accendo il primo relè quando accendo il secondo si spegne il primo)

Ringrazio anticipatamente chi verrà in mio aiuto
E se volete darmi consigli o suggerimenti per il progetto sarò contento

P.S.: chiedo scusa in anticipo se lo sketch è molto incasinato ma continuo a seguire tutorial e provare nuove possibilità; alla fine di tutto lo rimetterò in ordine per poterlo pubblicare nella sezione progetti. Grazie ancora

DOMOTICA.ino (5.74 KB)

Internet è pieno se non strapieno di progetti più o meno completi di domotica, perché non prendere qualcosa di già fatto se hai le competenze per farlo? Ricordiamo che qui si parla di un impianto soggetto a certificazione, tu vorresti metterci mano con uno <sketch è molto incasinato> e con la giustificazione .
Vedo solo due casistiche del problema, vuoi un impianto domotico e punto, vuoi costruire un impianto domotico in autonomo. Nel primo caso ricalco l'affermazione <Internet è pieno se non strapieno di progetti più o meno completi di domotica> nel secondo caso dovresti avere una conoscenza sufficiente di Arduino e del suo funzionamento tanto da non incappare in simili problemi, scopiazzando di qua e di la non andrai lontano.
I progetti di domotica sono la tipologia più semplice che si può realizzare con Arduino, ma serve comunque una buona base di algoritmica e un minimo di conoscenza di elettronica ed elettrotecnica.

-sulla pagina web del server non riesco ad accumulare comandi GET (se accendo il primo relè quando accendo il secondo si spegne il primo)

ragiona...
tu fai
IF........ e' 34=1 metti l'uscita 9 alta
se non lo e' ( ELSE) metti l'uscita bassa
IF....... e' 35=1 metti l'uscita 45 alta
se non lo e' ( ELSE ) metti l'uscita bassa
etc etc

mi sembra ovvio che se tu accendi il primo rele' ( 9 ), tutte le altre condizioni non sono vere, e' per questo che ad ogni passaggio ti spegne tutti gli altri rele'

Ci sono molti modi di gestire la cosa, ma penso che il più semplice da capire per te sia il seguente. Togli quegli ELSE e metti al loro posto la verifica se era stato premuto il tasto di spegnimento
es.

//34
       if (readString.indexOf("34=1") > 0) {
          digitalWrite(outPin, HIGH);
          LEDON = true;
          Serial.print("ON pin ");
          Serial.println(outPin);
        }
          if (readString.indexOf("34=0") > 0) {
          digitalWrite(outPin, LOW);
          LEDON = false;
          Serial.print("OFF pin ");
          Serial.println(outPin);
        }
//35
        if(readString.indexOf("35=1") > 0) {
          digitalWrite(45, HIGH);
          LEDON2 = true;
          Serial.print("ON pin ");
          Serial.println(45);
        }
          if (readString.indexOf("35=0") > 0) {
          digitalWrite(45, LOW);
          LEDON2 = false;
          Serial.print("OFF pin ");
          Serial.println(45);
        }
//36
        if(readString.indexOf("36=1") > 0) {
          digitalWrite(46, HIGH);
          LEDON3 = true;
          Serial.print("ON pin ");
          Serial.println(46);
        }
          if (readString.indexOf("36=0") > 0) {
          digitalWrite(46, LOW);
          LEDON3 = false;
          Serial.print("OFF pin ");
          Serial.println(46);
        }

Ciao RobertoBochet,
purtroppo su internet ho trovato tanti progetti ma molti pochi da cui prendere spunto(se ne conosci qualcuno che mi potrebbe aiutare sarò ben lieto di andarlo a vedere per capire come hanno fatto gli altri). E' vero che l'impianto è soggetto a certificazione ma come hai detto alla fine "è la tipologia più semplice che si può realizzare" volevo iniziare da questo per imparare a programmare con arduino.
Riguardo alle casistiche non sto cercando un impianto di domotica e basta, vorrei riuscire a programmare l'arduino, imparando cosa sto facendo, per poi passare ad altre programmazioni più complesse.
Grazie per la risposta e per l'aiuto

Brunello:
Ci sono molti modi di gestire la cosa, ma penso che il più semplice da capire per te sia il seguente. Togli quegli ELSE e metti al loro posto la verifica se era stato premuto il tasto di spegnimento

Ciao Brunello,
in effetti ne avevo provati molti di modi, dallo "switch case" ad altre soluzioni; ma non mi ero soffermato sul più semplice, quello di trasformare il tutto in verifica.
Grazie mille