FHEM Forum

FHEM - Hausautomations-Systeme => Sonstige Systeme => Thema gestartet von: eddi79 am 04 Juni 2017, 07:35:42

Titel: configurable firmate rückmeldung
Beitrag von: eddi79 am 04 Juni 2017, 07:35:42
Hallo zusammen,
Möchte uber arduino mit firmata eine solarsteuerung realisieren. Onewire semnsoren und einen io pin für die pumpe.
Klappt soweit mit der ansteuerung. Jedoch ist mir aufgefallen, dass wenn ich z.b. den io pin kurz hintereinander aus und einschalte auch mal ein befehl verloren geht. Meldet die firmate gar nicht zurück ob geschaltet wurde? Bzw kann passieren dass in fhem der pin als on gezeigt wird auch wenn gar nicht geschaltet wurde? Wäre hier ja fatal. Kollektor kocht und oumpe bleibt off.
Hat da jemand erfahrung?
Und was wäre eine zuverlässige alternative.
Brauche 2 io pins und 4 onewire temp sensoren. Anbindung über lan bzw. Wlan aber das ginge per eigener hstdware.

Danke für alle Tipp.
Markus
Titel: Antw:configurable firmate rückmeldung
Beitrag von: Beta-User am 04 Juni 2017, 08:04:22
Zitat von: eddi79 am 04 Juni 2017, 07:35:42
Und was wäre eine zuverlässige alternative.
Brauche 2 io pins und 4 onewire temp sensoren. Anbindung über lan bzw. Wlan aber das ginge per eigener hstdware.

Hallo Markus,

als Alternative kommt evtl. MySensors in Frage, da kann man u.a. FHEM-seitig ein ACK anfordern. Wenn Du die vorhandene HW weiter nutzen willst, kannst Du den Arduino+LAN-Board als Gateway ohne weitere Verbindung definieren.

Vorteil: Du könntest die gesamte Schaltlogik auf den Arduino zu übertragen und FHEM dann nur zu informieren, wenn  irgendeine Aktion ausgeführt wurde. Mache ich bei ein paar MySensors-Nodes so.

Wenn Du weitere Arduinos irgendwohin basteln willst: MySensors ist nicht zwingend Funk, es geht auch RS485.

Eine andere Alternative wäre HomebrewWired, das müßte aber von der Infrastruktur her anders aufgebaut werden.

Gruß, Beta-User
Titel: Antw:configurable firmate rückmeldung
Beitrag von: eddi79 am 04 Juni 2017, 20:52:07
ZitatWenn Du die vorhandene HW weiter nutzen willst, kannst Du den Arduino+LAN-Board als Gateway ohne weitere Verbindung definieren.

Die Schaltlogik direkt auf dem Arduino... das würde mir sehr gut gefallen. Nur wie bekomme ich hin, dass der Arduino mit FHEM spricht und mir die Temperaturen melden und sagt ob die Pumpe an oder aus ist. Mehr müsste gar nicht sein.
Gibt es da Vorlagen die man anpassen kann. Kann zwar etwas (ein kleines bisschen) Arduino (Arduino C) Programmieren, bin aber aber alles andere als ein Profi auf diesem Gebiet.

Bin für alles dankbar.
Markus
Titel: Antw:configurable firmate rückmeldung
Beitrag von: Beta-User am 05 Juni 2017, 07:57:26
MySensors (http://mysensors.org) ist u.a. eine Art Kommunikationsebene, die zum einen mehrere physische Transport-Layer (insbes. 2,4GHz, 433 MHz, RS485) beinhaltet und eben auch die logische, die die Einbindung in FHEM mit dem entsprechenden Modul recht einfach macht. Einfache Beispiele gibt es auf den Projektseiten, meine Erfahrungen mit MySesors+FHEM habe ich im FHEM-Wiki zusammengeschrieben (MySensors-Starter-Guide).

Da Du nur (?) einen Arduino anbinden willst, wäre das aber kein MySensors-Netzwerk, sondern nur ein Gateway mit erweiterter Funktionalität; der physische Transportlayer würde dann entfallen.

Auf dem Arduino selbst kannst Du im Prinzip ganz nach Belieben "klassisch" programmieren, es kommen eben dann die MySensors-Kommunikations-Teile dazu.

Wenn Du Beispiele suchst: Das hier https://github.com/rejoe2/MySensors_Small/blob/master/MyS103/MyS103.ino ist ein Kombinsensor, der auch ohne Verbindung zu FHEM startet und sich in Teilen von FHEM aus konfigurieren läßt. In dem Repo gibt es dann noch "Spezielles" zum Umgang mit mehreren DS18B20, interessant dürfte auch der "Heizung"-Code sein, dort speziell die Logik für die Umwälzpumpe für's Warmwasser (nicht die Schaltung der Heizungspumpe).
Bitte beachten: In den Beispielen wird teilweise noch "alte" Syntax verwendet, in ein paar Details müßte man das heute anders schreiben. Z.B. ist "#define MY_TRANSPORT_WAIT_READY_MS 3000", die Funktionalität wurde die vergangenen Monate ein paar mal umbenannt und heißt in anderen Sketchen noch anders, getConfig() ist heute getControllerConfig() ind wäre am besten in setup() aufgehoben usw..

Klingt evtl. alles auf den ersten Blick etwas verwirrend und kompliziert, ich konnte aber  vorher gar kein C und hatte 0 Erfahrung mit Mikrocontrollern oder elektronischen Bauteilen ::) . Gerade mit den Beispielen bei MySensors war das "Eindenken" dann aber recht "einfach", weil die Beispiele keine Kombisensoren sind und daher die Einzelfunktionalität recht klar erkennbar.

Wenn Du spezielle Fragen hast oder Hilfestellung benötigst, bitte melden...

Gruß, Beta-User