Hallo,
ich bin seit einigen Tagen dabei eine eigene Haussteuerung zu erstellen.
Hintergrund ist das ich gerade ein neues Haus baue und dort gerne einiges automatisieren/steuern würde.
In meinem alten Haus hatte ich die Homematic verbaut (Teilweise Wired, teilweise Funk).
Habe aber gemerkt das dieses System mittlerweile einiges an wünschen offen lässt vorallem im Kabelgebundenen bereich. Und so kam ich Anfang des Jahres zum Arduino und jetzt will ich halt gerne alles damit machen.
Nun zum eigentlichen Problem.
Ich hatte schon mal auf dem Breadboard 2 Slaves (NANO mit MAX485) und 1 Master (Mega mit MAX485) aufgebaut und das ganze auch eigentlich gut am laufen.
Als Protokoll habe ich die Lib von Nick Gammon genommen. Nur leider war mir selbst nach ein bisschen Tuning in der Lib selbst immer noch die abfrage der Taster und das ansteuern der LED's viel zu langsam und hackelig.
Jetzt würde ich gerne den Modbus ausprobieren, der ist meiner Meinung nach sowieso besser für sowas ausgelegt und etwas flexibler/kompatibler.
Nur leider hänge ich beim Master.
Wie soll ich meinen Code gestalten um nacheinander möglichst schnell ca 25-30 Slaves abzufragen und für jeden ein Array anzulegen mit dem mitgeteilten werten.
Es gibt ja sehr viele Beispiele für Slaves die meisten konnte ich auch schnell und gut nachvollziehen,
aber bei Master komme ich nicht voran.
Als Lib wollte ich den Simple Modbus Nehmen.
Aber wie frage ich die Register im Slave ab und vorallem welches Register muss ich abfragen.
Ich will hier keine vorgekauten codes von euch ein Denkanstoß wäre schon ganz Nett.
Es gibt ja hier schon einpaar Leute die sich mit dem ganzen Thema auseinander gesetzt haben vielleicht könnte ich mich mit meinen Ideen auch in ein bestehendes Projekt einklinken.
Wenn ich den Modbus gebändigt habe, dann werde ich mal nen Prototyp vom ersten Slave bauen damit ihr was sehen könnt.
Er soll jeweils in jedem Raum eingebaut werden und erstmal folgendes können
- 4 Taster Inputs (z.b. Licht oder Rollläden)
- 3 Reedkontakt Inputs (Auf, Kipp und Sabotagekontakt)
- 2 Relais Kontakte der Gira Rauchmelder abfragen
- 1 DHT22 zur Erfassung der Temp und LF
Das wäre dann erstmal Beta 1
Der Master soll eigentlich nur die Slaves abfragen und die jeweiligen Koppelrelais für licht oder andere Stromkreise schalten.
außerdem soll er in Zukunft auch als Schnittstelle in das Netzwerk fungieren um Daten weiter zureichen oder auch um Anweisung aus dem Netzwerk durchzuführen z.B. über MQTT.
freue mich auf eure antworten
Gruß Enrico