Arduino mit FRM und OWX

Begonnen von FexHo, 29 Dezember 2016, 20:28:56

Vorheriges Thema - Nächstes Thema

FexHo

Tach Leute,

ich bin neu hier und möchte mich kurz vorstellen. Als Familienpapa und gelernter Mechatronik-Ingenieuer aus der Nähe von Aachen kommend, beschäftige ich mich seit längerer Zeit mit FHEM. Somit bringe ich ein wenig Wissen über Bussysteme mit und bin auch ein wenig des Programmierens mächtig.

Meine Fragen konnte ich eigentlich immer selbst klären und habe hierzu auch dieses Forum sowie das WiKi sehr hilfreich einsetzen können... Bis ich probiert habe, mit der Configurable Firmata per Ethernet aus meinem Arduino Mega einen Buskoppler für One-Wire zu basteln. Ziel ist, Vor-/Rücklauftemperaturen von meinem Heizmoped aus den 90ern und den einzelnen Heizsträngen zu visualisieren. Die Ganze Hardware hierfür (die "Sensorkette") hierfür habe ich auch schon gebaut. Das lief jetzt zwei Jahre einwandfrei, bis der Arduino per USB nicht mehr die Sensorwerte ausgeben wollte. Deshalb musste nun ein neuer One-Wire Buskoppler her.

Eins noch vorweg... Das Charting in FHEM gefällt mir nicht wirklich und deshalb visualisiere ich die Daten komplett in Zabbix.

Zum Problem:

- Zum Einsatz kommt Ein Arduino Mega mit Ethernet-Shield
- Ich arbeite mit der aktuellsten Version der Arduino IDE
- Verschiedene Versionen der ConfigurableFirmata wurden in den Kleinen Androiden reinkompiliert
- Die Verbindung wurde sowohl per USB sowie auch per Ethernet aufgebaut
- FHEM erkennt den Droiden sowohl per USB, wie auch per Ethernet
- Aktueller Anschluss per Ethernet erfolgt (Ich sehe auch per tcpdump Daten zwischen FHEM und dem Droiden fließen)

Wenn ich nun ein neues OneWire-Device (OWX) definiere, passiert rein garnichts. Das habe ich per tcpdump validiert. Tut nix senden :)

Ich hätte auch erwartet, dass im FRM die "onewire-pins" angezeigt werden... (vgl. https://wiki.fhem.de/wiki/Arduino_mit_OneWireFirmata) Dort wird mir aber leider garnichts anzeigt.

Da die Kommunikation zwischen Arduino und FHEM generell funktioniert (Es kann eine Firmware ausgelesen werden und ich sehe auch Ethernet-Trafffic zwischen den beiden), könnte ich mir vorstellen, dass mit dem Modul "FRM" und der aktuellen "ConfigurableFirmata" ein Problem besteht.

Bevor ich nun anfange, tiefer in den Code einzusteigen, wollte ich mal fragen ob das noch einer Maintained oder mir noch jemand einen guten Tipp geben kann.

Beste Grüße
Felix

Nachtrag:

Das Logging sieht auch irgendwie komisch aus:

2016.12.29 19:54:49 4: Connection accepted from Arduino_Eth_10.255.255.13_49196
2016.12.29 19:54:49 5: FRM:>ff
2016.12.29 19:54:49 5: SW: ff
2016.12.29 19:54:52 3: querying Firmata Firmware Version
2016.12.29 19:54:52 5: FRM:>f079f7
2016.12.29 19:54:52 5: SW: f079f7
2016.12.29 19:54:52 5: FRM:<f07902096600690072006d006100740061002e0069006e006f
2016.12.29 19:54:52 5: FRM:<00f7
2016.12.29 19:54:52 3: Firmata Firmware Version: firmata.ino V_2_09
2016.12.29 19:54:52 5: FRM:>
2016.12.29 19:54:52 5: SW:
2016.12.29 19:54:52 5: FRM:>
2016.12.29 19:54:52 5: SW:
2016.12.29 19:54:54 5: FRM:>
2016.12.29 19:54:54 5: SW:
2016.12.29 19:54:54 5: FRM:>
2016.12.29 19:54:54 5: SW:
Fhem auf Futro S900 (Ubuntu 16.04) | JeeLink (LaCrosse) | MaxCube (MAX! über PID20 geregelt) | Arduino FRM (1-Wire) | ZME-UZB (Z-Wave)
(Charting und Alarmierung über Zabbix)

Falki

Hallo FexHo,

schaue bitte in den folgenden Thread:  https://forum.fhem.de/index.php/topic,58154.0.html

Suche auch im Forum nach "configureable".

Ich vermute mal, dass liegt an der zu aktuellen Firmata Version 2.09. Ich arbeite selbst mit 2.06 ohne Probleme und absolut stabil.

Viele Grüße
Falki
KNX + Cubietruck + FHEM

Prof. Dr. Peter Henning

Selbstverständlich wird OWX weiter entwickelt - obwohl ich aktuell meinem Zeitplan um ca. 6 Monate hinterher hänge.

Allerdings betrifft das nicht die Firmata-Anbindung.

LG

pah

Wzut

Zitat von: FexHo am 29 Dezember 2016, 20:28:56
mir noch jemand einen guten Tipp geben kann.
Mein Tipp : Verwende die Conf Firmata mit der Version 2.06
Die habe ich bei mir an zwei Stellen seit Jahren ohne Probleme am rennen, alle meine Versuche mit neueren Versionen sind bei mir schon am Schreibtisch kläglich gescheitert.
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher

FexHo

Hi,

vielen lieben Dank für eure Antworten! Mit Hilfe dieser konnte ich das Ganze nun ans Laufen bringen  ;D

Ich habe in der Tat den "Fehler" gemacht, mit aktuellen Versionen der configurable Firmata aus dem Github Repository zu arbeiten. Diese kann man ja auch bequem aus der Arduino IDE heraus einbinden. Nochmals kann ich hiermit also bestätigen, dass das FRM-Modul mit aktuellen Versionen der Configurable Firmata NICHT kompatibel ist.

Leider geht es im offiziellen Repository nur bis zur Version 2.0.8 zurück. Ich musste also zunächst etwas suchen, um an die alte Version heranzukommen. Ich habe diese dann letztendlich noch im offiziellen Wiki-Eintrag (https://wiki.fhem.de/wiki/Arduino_Firmata) als Zip-Archiv im Repository gefunden.

Mit der alten Version wurden sofort alle Pins des Arduinos im Modul "FRM" erkannt und das Modul "OWX" hat sofort meine 1-Wire Sensoren gefunden.

Das Problem ist gelöst und der Thread kann aus meiner Sicht damit geschlossen werden.

Schöne Grüße,
Felix
Fhem auf Futro S900 (Ubuntu 16.04) | JeeLink (LaCrosse) | MaxCube (MAX! über PID20 geregelt) | Arduino FRM (1-Wire) | ZME-UZB (Z-Wave)
(Charting und Alarmierung über Zabbix)

smurfix

Hast du den Firmata-Autor geschimpft (bzw. einen Bug gemeldet)? Solche Probleme erwarte ich zwischen Version 2 und 3, aber nicht 2.0.8 und 2.0.9.

FexHo

Nein, aber das ist eine gute Idee! Viele werfen das Modul sonst vermutlich einfach weg mit dem Ergenis "Tut nicht."

Leider kann ich nicht einschätzen, ob der Bug im FHEM-Modul oder in der Firmata Library vorliegt. Vielleicht ists ja auch eine Inkompatibilität!?

Der Versionssprung in der Conf-Firmata scheint jedenfalls ein Major-Sprung gewesen zu sein.

Von daher weiß ich nicht, wo ich das platzieren soll. Ideen?
Fhem auf Futro S900 (Ubuntu 16.04) | JeeLink (LaCrosse) | MaxCube (MAX! über PID20 geregelt) | Arduino FRM (1-Wire) | ZME-UZB (Z-Wave)
(Charting und Alarmierung über Zabbix)

smurfix

Ich würde das erstmal an den Autor der Firmata melden und dann weitersehen. Evtl kann an ja Logs it alt vs. neu generieren und da hinschicken.

Es ist grundsätzlich eine schlechte Idee, ein Problem mit "alte Version installieren, geht" zu 'lösen'. Irgendwann brauchst du ein neues Feature, die alte Version findet man nicht mehr im Netz, oder sonst ein Update verlangt die neue Version des Teils ... schon hast du ein altes Problem wieder, an das du dich kaum erinnerst – und da das allen Anderen genauso geht ...