Configurable Firmata V2.07 Problem

Begonnen von Pythonf, 22 November 2015, 23:57:54

Vorheriges Thema - Nächstes Thema

Pythonf

Ich hab ein Problem mit Configurable Firmata:
Ich hab Configurable Firmata 2.07 aus gitHub auf einem nano clone (aber auch auf einem mega2560 und Original Uno besteht das selbige Problem) geflasht und in FHEM wird der Arduino auch als Initialized angezeigt.
Allerdings nicht die verfügbaren Pins bzw Modi und schalten oder auslesen funktioniert ebenfalls nicht:
Internals:
   CFGFN
   DEF        /dev/ttyUSB0@57600
   DeviceName /dev/ttyUSB0@57600
   FD         4
   NAME       FRM_0
   NOTIFYDEV  global
   NR         44
   NTFY_ORDER 50-FRM_0
   PARTIAL
   STATE      Initialized
   TYPE       FRM
   firmware   ConfigurableFirmata.ino
   firmware_version V_2_07
   Readings:
     2015-11-20 22:03:05   state           opened
Attributes:

Mit StandardFirmata hingegen funktioniert alles einwandfrei:
Internals:
   CFGFN
   DEF        /dev/ttyUSB0@57600
   DeviceName /dev/ttyUSB0@57600
   FD         4
   NAME       FRM_0
   NOTIFYDEV  global
   NR         44
   NTFY_ORDER 50-FRM_0
   PARTIAL
   STATE      Initialized
   TYPE       FRM
   analog_pins 14,15,16,17,18,19,20,21
   analog_resolutions 14:10,15:10,16:10,17:10,18:10,19:10,20:10,21:10
   firmware   StandardFirmata.ino
   firmware_version V_2_04
   i2c_pins   18,19
   input_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   output_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   pwm_pins   3,5,6,9,10,11
   pwm_resolutions 3:8,5:8,6:8,9:8,10:8,11:8
   servo_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   servo_resolutions 2:14,3:14,4:14,5:14,6:14,7:14,8:14,9:14,10:14,11:14,12:14,13:14,14:14,15:14,16:14,17:14,18:14,19:14
   Readings:
     2015-11-20 22:07:44   state           opened
Attributes:

Da Ich allerdings Firmata als OneWire Schnittstelle verwenden möchte bringt mir das leider wenig.
Ich hab die aktuellste Arduino IDE (32bit) auf einem Win 10 x64 rechner installiert.
Hat jemand eine Idee, weshalb dies nicht funktioniert?
Beste Grüße
Fabian

jensb

Hallo Pythonf,

soweit ich das sehe, arbeitet der Firmata-Protokollhandler von FHEM mit der Versionsnummer, die das Firmata-Device sendet. Unterstützt wird aktuell bis 2.(0)6.

Damit hast du 2 Möglichkeiten: Ändere die Version deiner Firmata-Firmware auf 2.(0)6 oder älter oder dopple den Definitionsblock für V_2_06 in der Datei FHEM/lib/Device/Firmata/Constants.pm und nenne die neue Version V_2_07 (letzteres auf eigene Gefahr und mit der Garantie, dass das nächste FHEM-Update diese Änderung rückgängig macht).

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

kb958291

Wie genau macht man das: "Ändere die Version deiner Firmata-Firmware auf 2.(0)6 oder älter..."??
Habe genau das gleiche Problem....Version V_2_08
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota

jensb

Hallo kb958291,

ich finde es nicht wirklich gut, wenn ich hier detaillierte Anleitungen gebe, bestehende Softwaremodule so zu modden, dass sie vielleicht miteinander funktionieren. Ein solches Vorgehen hat fast immer Nebenwirkungen. Wollte lediglich einen Hinweis auf die Ursachen für das Problem geben. Richtig wäre es, eine entsprechende Lösung in FHEM zu implementieren.

Bitte verwende bis auf weiteres eine Firmata-Version bis einschließlich 2.6 statt die aktuelleste.

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

kb958291

Ich finde immer nur die Version 2.08....

Hat jemand einen Link für Configurable Firmata 2.06 ?
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota

jensb

Hallo kb958291,

verwende einen Git-Client und checke eine Version vor dem 22.11.2015 aus, also z.B. den Commit "55b4e352b5647072805adc5b82798b78788018af". Es gibt leider keine Tags vor 2.8.0.

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

kb958291

Hallo,

ich scheitere bereits bei "verwende einen Git-Client und checke eine Version vor dem 22.11.2015 aus, also z.B. den Commit "55b4e352b5647072805adc5b82798b78788018af""
Ich habe es mit "smartgit" versucht, weis allerdings nicht, wie ich damit was suchen kann.....
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota

jensb

Hallo kb958291,

tut mir leid, ich weiß dass Auschecken einer bestimmten Version nicht einfach ist, wenn man das nicht ab und zu macht.

Vielleicht hilft folgendes (nicht getestet!): öffne ConfigurableFirmata.h und ändere FIRMWARE_MINOR_VERSION auf den gewünschten Wert.

Viel Erfolg,
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

kb958291

#8
Hallo Jens,

das hatte ich schon vorab gemacht, ich wollte es aber "richtig" machen....

Bekomme allerdings auch eine Fehlermeldung:
Readings:
error       Unhandled sysex command


Gruß,

kb
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota

jensb

Hallo kb,

dann bleiben nur noch die "richtigen" Lösungen übrig:


  • Versuchs noch mal mit einem Checkout. Hilfe gibts mit der Stichwortkombination "github checkout specific commit"
  • Verwende StandardFirmata 2.5
  • Warte bis die Anpassungen in FHEM erfolgt sind. FHEM orientiert sich derzeit an der Firmware-Versionsnummer und die hat sich bei ConfigurableFirmata in letzter Zeit deutlich geändert. ConfigurableFirmata 2.8 verwendet übrigens "nur" das Firmata-Protocol 2.5.

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

kb958291

....."ConfigurableFirmata 2.8 verwendet übrigens "nur" das Firmata-Protocol 2.5."

Sollte ich dann die Version in der "ConfigurableFirmata.h" auf 2.5 ändern....? Mal testen....
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota

Archimedes

Hallo,
ein kurzes Howto, wie man zu den älteren Versionen kommt: Du brauchst keinen Git Client.
Meine Vorgehensweise: Zu Anfang befindet man sich im Master Branch. Ich klicke dann eine Datei an, nehmen wir als Beispiel die readme.md. So getan, findet man rechts oberhalb des Dateiinhalts den Button "History". Diesen einmal gedrückt bekommt man eine Liste mit der Überschrift "History for ConfigurableFirmata/readme.md" Zu jeder Zeile gibt es rechts einen Button mit einem Teil eines Hex Codes, der jeweilige Commit. Ich klicke mal auf den vom 17.Mai und erhalte nun den Commit 837948bbf8b96bbb8ee297057c4352a56bc79b34 angezeigt. Unten angehängt die Differenzen der Dateien vom Vorgänger zur der ausgewählten Version. Oben rechts der Button "Browse files" -klick- bringt uns nun zum Button "Download Zip". Und hurra, die alte Configurable Firmata ist da (im Download Verzeichnis).  :o :o :-X :'(

kb958291

 :)
Das ist ja erschreckend einfach!!!
Vielen Dank!!! ;D
FHEM@ASUS-PN40, HM-CFG-LAN, CUL868, CUL433, HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-LC-Bl1PBU-FM, IT1500, Elero, Tasmota

Archimedes

Ich habe mir heute mal die Mühe gemacht und die Firmata Protokollversionen durchgeschaut. Demnach ist die aktuell letzte unterstützte Version 2.6.2 vom 19. bzw. 20.04.2015.
Gruß Axel

jorge

Irgendwie bin ich verwirrt: Die aktuell herunterzuladende ConfigurableFirmata.ino wird also nicht unterstützt? Jedenfalls funtioniert sie bei mir auch in der Version 2.08 nicht:

Internals:
   DEF        /dev/ttyUSB2@57600
   DeviceName /dev/ttyUSB2@57600
   FD         5
   NAME       Arduino
   NOTIFYDEV  global
   NR         821
   NTFY_ORDER 50-Arduino
   PARTIAL
   STATE      Initialized
   TYPE       FRM
   firmware   ConfigurableFirmata.ino
   firmware_version V_2_08
   Readings:
     2016-06-30 02:32:15   state           opened
Attributes:
   model      nano
   room       Devices
   sampling-interval 1000


Habe dann im GiTHub die Version 2.05 heruntergeladen, und mit Copy&Paste die ConfigurableFirmata.ino (V2.08) überschrieben, damit den Nano geflasht, es klappt:

Internals:
   DEF        /dev/ttyUSB2@57600
   DeviceName /dev/ttyUSB2@57600
   FD         5
   NAME       Arduino
   NOTIFYDEV  global
   NR         821
   NTFY_ORDER 50-Arduino
   PARTIAL
   STATE      Initialized
   TYPE       FRM
   analog_pins 14,15,16,17,18,19,20,21
   analog_resolutions 14:10,15:10,16:10,17:10,18:10,19:10,20:10,21:10
   firmware   ConfigurableFirmata.ino
   firmware_version V_2_05
   i2c_pins   18,19
   input_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   onewire_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   output_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   pwm_pins   3,5,6,9,10,11
   pwm_resolutions 3:8,5:8,6:8,9:8,10:8,11:8
   servo_pins 2,3,4,5,6,7,8,9,10,11,12,13
   servo_resolutions 2:14,3:14,4:14,5:14,6:14,7:14,8:14,9:14,10:14,11:14,12:14,13:14
   stepper_pins 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19
   stepper_resolutions 2:21,3:21,4:21,5:21,6:21,7:21,8:21,9:21,10:21,11:21,12:21,13:21,14:21,15:21,16:21,17:21,18:21,19:21
   Readings:
     2016-06-30 09:01:35   state           opened
Attributes:
   model      nano
   room       Devices
   sampling-interval 1000

Stellt sich die Frage, warum denn überhaupt eine in der Konfiguration nicht funktionierende neue Version zum herunterladen angeboten wird? Hätte mir zwei Stunden Fehlersuche gespart, bis ich in diesem Thread fündig wurde.

LG

Jorge

P.S. Falls jemand einen Arduino Nano V3.0 ATmega328P CH340G mit dem mitgeliefertem USB Kabel anschießen möchte: Das Kabel ist nur für die Stromversorgung geeignet, nicht für Datenübertragung...
FHEM.RaspberryPi 2 (HM, 1Wire, Callmonitor.FB 7490, GPIO, I2C, MQTT-Server, MCP23018)
FHEM.RaspberryPi  (FHEM2FHEM, CUL, FS20)
FHEM.RPiZeroW (I2C, 1Wire, python.api, XiaomiBTLESens.MQTT)
FHEM.Win7 (FHEM2FHEM,DBLOG.MySql)
ESPEasy (WEMOSD1, I2C, Analog, 1Wire), Sonoff_T1_3ch, Mobotix QM25, robonect