gelöst - Fhem verbindet nicht mit Arduino

Begonnen von Spuckiii, 02 Januar 2016, 21:18:27

Vorheriges Thema - Nächstes Thema

Spuckiii

Hallo FHEM Gemeinde,

ich kkann seit kurzen nicht mehr den Arduino Uno mit dem WS5001 Shield ansprechen. Bei Fhem kommt die Fehlermeldung.
NTFY return:  UNO:UNO: Can't open server port at 3030: Invalid argument

Update und Neustart wurde schon durchgeführt. Hat jemand eine Idee?

jensb

#1
Hallo Spuckiii,

gehe ich recht in der Annahme, dass du einen Arduino mit Firmata hast und das du den Standard-Firmata-Port 3030 verwenden willst?

Wenn ja dann hast du den Port 3030 möglicherweise schon für etwas anderes in Gebrauch und da bei Firmata der TCP Server auf der Seite von FHEM liegt, schlägt es beim 2. Device fehlt. Wenn du mehrere Arduinos hast, musst du bei jedem einen anderen Port einstellen und das Gleiche auch auf der FHEM Seite.

Überprüfen kannst du das unter Linux mit dem Befehl "netstat -atn | grep 3030". Wenn da eine Ausgabe mit "LISTEN" erfolgt, ist schon jemand da.

Grüße,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

Spuckiii

#2
Hallo Jens,

ja Arduino mit configurable Firmata. Der Standard Port ist nicht in Verwendung, es kommt also kein LISTEN. Bis vorgestern hat ja auch alles funktioniert mit dem Shield. Dann wurde der Strom vom raspberry getrennt und seitdem bekomme ich keine Verbindung mehr. Es scheint ein Problem mit  [global] zu geben.

Aus welchen Gründen auch immer mochte er die eckigen Klammern bei global nicht mehr. diese weggelassen und es funktioniert wieder

larsberghahn

Hallo,

bei mir funktioniert seit ein Paar Tagen der Ethernet Arduino mit Configurable Firmata 2_07 auch nicht mehr.
Ich habe:
define Arduino2 FRM 3030 [192.168.10.225]
define Arduino2 FRM 3030 [global]
define Arduino2 FRM 3030 global

ausprobiert und shutdown restart asugeführt.

Immer steht im Logfile:
2016.01.12 20:45:47 3: NTFY return:  Arduino2:Arduino2: Can't open server port at 3030

netstat -atn | grep 3030
habe ich auch jedes mal getestet, es gab aber keine Ausgabe.

Der Arduino ist unverändert und lässt sich auch Pingen.

Kann ich noch was testen um der Sache näher zu kommen?

MFG Lars

jensb

Hallo Lars,

du solltest auf jeden Fall nur mit der letzten Variante weiter testen, also 'define Arduino2 FRM 3030 global'. Als naechstes kannst du mal die Portnummer aendern, also statt 3030 z.B. 4040. Dann kann sich zwar dein Arduino nicht ohne neu Compilieren verbinden, aber du kannst damit ausschliessen, dass du einen Server-Port verwenden willst, der schon belegt ist - wobei du ja mit netstat schon geprueft hast, dass das wahrscheinlich nicht der Fall ist.

Wunderlich ist, dass du ConfigurableFirmata 2.7 erfolgreich verwendest - das wird vom offiziellen FRM noch gar nicht untestuetzt (momentan geht nur bis 2.6), wobei der Fehler dann ein anderer waere (siehe forum.fhem.de/index.php/topic,44525.0.html).

Gruesse,
Jens
FHEM 6.1 - RPi 4 Raspbian 12 + PiTFT - OPi Zero Armbian 5.35
EnOcean - (W)LAN/Firmata: BMP180, TSL2561, SHT21, Heatronic 3, OBIS - WLAN/ESP8266: Gardena 1251, Zirkulationspumpe - RTL433: Oregon - Bluetooth - MQTT
Contributions: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/jensb

larsberghahn

Hallo,

ich habe glaube ich auch die 2.07  nicht die 2.7
Die hat FHEM auch immer so ausgelesen meine ich.
Hat auf jeden Fall immer funktoniert. Habe ich vor ca. 1,5 Jahren oder so auf den Arduino geschoben.

Bei Port 4040 habe ich den selben Fehler:
2016.01.12 21:58:52 3: NTFY return:  Arduino2:Arduino2: Can't open server port at 4040

Mein anderer Arduino der über USB angeschlossen ist läuft weiterhin:

2016.01.12 21:58:35 3: Opening Arduino1 device /dev/ttyACM0
2016.01.12 21:58:35 3: Setting Arduino1 serial parameters to 57600,8,N,1
2016.01.12 21:58:35 3: Arduino1 device opened
2016.01.12 21:58:38 3: querying Firmata Firmware Version
2016.01.12 21:58:38 3: Firmata Firmware Version: ConfigurableFirmata.ino V_2_05

Das wäre dann Version 2.05 ?

Ich könnte höchstens mal versuchen was passiert wenn ich das Backup zurückspiele.
Aber da hab ich eigendlich nicht so lust drauf weil das schon recht alt war und ich gerade alle
änderungen die ich sonst ausgesessen hatte korrigiert habe  ;D

MFG Lars

larsberghahn

Sorry ich nehm alles zurück

Es läuft

Irgendwie habe ich es geschafft die falsche Konfig zu bearbeiten.

Deine Lösung mit global ohne die [] war die Lösung.

Und mein Ethernet Arduino hat doch nur die 2_05  ;D ;D :o

Vielen Dank

MFG Lars

Wzut

Zitat von: lars am 12 Januar 2016, 22:07:56
Deine Lösung mit global ohne die [] war die Lösung.
Der Fehler wird wohl gern gemacht und taucht in diversen Threads auf, die Erklärung von Rudi dazu :
http://forum.fhem.de/index.php/topic,46156.msg379409.html#msg379409
Maintainer der Module: MAX, MPD, UbiquitiMP, UbiquitiOut, SIP, BEOK, readingsWatcher