Arduino DINo Relaisboard + Configurable Firmata = hängt sich auf

Begonnen von rico5588, 29 März 2016, 12:51:00

Vorheriges Thema - Nächstes Thema

rico5588

Hallo Helfende,

ich benötige Hilfe oder Infos wer von euch ein Dino Board von KMtronic erfolgreich in FHEM zum laufen gebracht hat.
Es handelt sich um dies hier.
http://kmtronic.com/arduino.html
Zum laufen gebracht habe ich es mit dieser Configurable Firmata (ver. 2.0.6)
/*
* Firmata is a generic protocol for communicating with microcontrollers
* from software on a host computer. It is intended to work with
* any host computer software package.
*
* To download a host software package, please click on the following link
* to open the download page in your default browser.
*
* http://firmata.org/wiki/Download
*/

/*
  Copyright (C) 2006-2008 Hans-Christoph Steiner.  All rights reserved.
  Copyright (C) 2010-2011 Paul Stoffregen.  All rights reserved.
  Copyright (C) 2009 Shigeru Kobayashi.  All rights reserved.
  Copyright (C) 2009-2013 Jeff Hoefs.  All rights reserved.
  Copyright (C) 2013 Norbert Truchsess. All rights reserved.
  Copyright (C) 2014 Nicolas Panel. All rights reserved.

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  See file LICENSE.txt for further informations on licensing terms.

  formatted using the GNU C formatting and indenting
*/


#include <Firmata.h>

/*
* by default Firmata uses the Serial-port (over USB) of Arduino.
* ConfigurableFirmata may also comunicate over ethernet using tcp/ip.
* To configure this 'Network Firmata' to use the original WIZ5100-based
* ethernet-shield or Arduino Ethernet uncomment the includes of 'SPI.h' and 'Ethernet.h':
*/

//#include <SPI.h>
//#include <EtherShield.h>

/*
* To configure 'Network Firmata' to use an ENC28J60 based board include
* 'UIPEthernet.h' (no SPI.h required). The UIPEthernet-library can be downloaded
* from: https://github.com/ntruchsess/arduino_uip
*/

#include <UIPEthernet.h>

/*
* To execute Network Firmata on Yun uncomment Bridge.h and YunClient.h.
* Do not include Ethernet.h or SPI.h in this case.
* On Yun there's no need to configure local_ip and mac in the sketch
* as this is configured on the linux-side of Yun.
*/

//#include <Bridge.h>
//#include <YunClient.h>

#if defined ethernet_h || defined UIPETHERNET_H || defined _YUN_CLIENT_H_
/*==============================================================================
* Network configuration for Network Firmata
*============================================================================*/
#define NETWORK_FIRMATA
//replace with ip of server you want to connect to, comment out if using 'remote_host'
#define remote_ip IPAddress(192,168,9,54)
//replace with hostname of server you want to connect to, comment out if using 'remote_ip'
//#define remote_host "server.local"
//replace with the port that your server is listening on
#define remote_port 3030
//replace with arduinos ip-address. Comment out if Ethernet-startup should use dhcp. Is ignored on Yun
#define local_ip IPAddress(192,168,9,99)
//replace with ethernet shield mac. It's mandatory every device is assigned a unique mac. Is ignored on Yun
const byte mac[] = {0x90, 0xA2, 0xDA, 0x0D, 0x07, 0x02};
#endif

// To configure, save this file to your working directory so you can edit it
// then comment out the include and declaration for any features that you do
// not need below.

// Also note that the current compile size for an Arduino Uno with all of the
// following features enabled is about 22.4k. If you are using an older Arduino
// or other microcontroller with less memory you will not be able to include
// all of the following feature classes.

#include <utility/DigitalInputFirmata.h>
DigitalInputFirmata digitalInput;

#include <utility/DigitalOutputFirmata.h>
DigitalOutputFirmata digitalOutput;

//#include <utility/AnalogInputFirmata.h>
//AnalogInputFirmata analogInput;

//#include <utility/AnalogOutputFirmata.h>
//AnalogOutputFirmata analogOutput;

//#include <Servo.h> //wouldn't load from ServoFirmata.h in Arduino1.0.3
//#include <utility/ServoFirmata.h>
//ServoFirmata servo;

//#include <Wire.h> //wouldn't load from I2CFirmata.h in Arduino1.0.3
//#include <utility/I2CFirmata.h>
//I2CFirmata i2c;

//#include <utility/OneWireFirmata.h>
//OneWireFirmata oneWire;

//#include <utility/StepperFirmata.h>
//StepperFirmata stepper;

#include <utility/FirmataExt.h>
FirmataExt firmataExt;

//#include <utility/FirmataScheduler.h>
//FirmataScheduler scheduler;

//#include <utility/EncoderFirmata.h>
//EncoderFirmata encoder;


// dependencies. Do not comment out the following lines
#if defined AnalogOutputFirmata_h || defined ServoFirmata_h
#include <utility/AnalogWrite.h>
#endif

#if defined AnalogInputFirmata_h || defined I2CFirmata_h || defined EncoderFirmata_h
#include <utility/FirmataReporting.h>
FirmataReporting reporting;
#endif

// dependencies for Network Firmata. Do not comment out.
#ifdef NETWORK_FIRMATA
#if defined remote_ip && defined remote_host
#error "cannot define both remote_ip and remote_host at the same time!"
#endif
#include <utility/EthernetClientStream.h>
#ifdef _YUN_CLIENT_H_
YunClient client;
#else
EthernetClient client;
#endif
#if defined remote_ip && !defined remote_host
#ifdef local_ip
EthernetClientStream stream(client, local_ip, remote_ip, NULL, remote_port);
#else
EthernetClientStream stream(client, IPAddress(0, 0, 0, 0), remote_ip, NULL, remote_port);
#endif
#endif
#if !defined remote_ip && defined remote_host
#ifdef local_ip
EthernetClientStream stream(client, local_ip, IPAddress(0, 0, 0, 0), remote_host, remote_port);
#else
EthernetClientStream stream(client, IPAddress(0, 0, 0, 0), IPAddress(0, 0, 0, 0), remote_host, remote_port);
#endif
#endif
#endif

/*==============================================================================
* FUNCTIONS
*============================================================================*/

void systemResetCallback()
{
  // initialize a defalt state

  // pins with analog capability default to analog input
  // otherwise, pins default to digital output
  for (byte i = 0; i < TOTAL_PINS; i++) {
    if (IS_PIN_ANALOG(i)) {
#ifdef AnalogInputFirmata_h
      // turns off pullup, configures everything
      Firmata.setPinMode(i, ANALOG);
#endif
    } else if (IS_PIN_DIGITAL(i)) {
#ifdef DigitalOutputFirmata_h
      // sets the output to 0, configures portConfigInputs
      Firmata.setPinMode(i, OUTPUT);
#endif
    }
  }

#ifdef FirmataExt_h
  firmataExt.reset();
#endif
}

/*==============================================================================
* SETUP()
*============================================================================*/

void setup()
{
#ifdef NETWORK_FIRMATA
#ifdef _YUN_CLIENT_H_
  Bridge.begin();
#else
#ifdef local_ip
  Ethernet.begin((uint8_t *)mac, local_ip); //start ethernet
#else
  Ethernet.begin((uint8_t *)mac); //start ethernet using dhcp
#endif
#endif
  delay(1000);
#endif
  Firmata.setFirmwareVersion(FIRMATA_MAJOR_VERSION, FIRMATA_MINOR_VERSION);

#if defined AnalogOutputFirmata_h || defined ServoFirmata_h
  /* analogWriteCallback is declared in AnalogWrite.h */
  Firmata.attach(ANALOG_MESSAGE, analogWriteCallback);
#endif

#ifdef FirmataExt_h
#ifdef DigitalInputFirmata_h
  firmataExt.addFeature(digitalInput);
#endif
#ifdef DigitalOutputFirmata_h
  firmataExt.addFeature(digitalOutput);
#endif
#ifdef AnalogInputFirmata_h
  firmataExt.addFeature(analogInput);
#endif
#ifdef AnalogOutputFirmata_h
  firmataExt.addFeature(analogOutput);
#endif
#ifdef ServoFirmata_h
  firmataExt.addFeature(servo);
#endif
#ifdef I2CFirmata_h
  firmataExt.addFeature(i2c);
#endif
#ifdef OneWireFirmata_h
  firmataExt.addFeature(oneWire);
#endif
#ifdef StepperFirmata_h
  firmataExt.addFeature(stepper);
#endif
#ifdef FirmataReporting_h
  firmataExt.addFeature(reporting);
#endif
#ifdef FirmataScheduler_h
  firmataExt.addFeature(scheduler);
#endif
#ifdef EncoderFirmata_h
  firmataExt.addFeature(encoder);
#endif
#endif
  /* systemResetCallback is declared here (in ConfigurableFirmata.ino) */
  Firmata.attach(SYSTEM_RESET, systemResetCallback);

  // Network Firmata communicates with Ethernet-shields over SPI. Therefor all
  // SPI-pins must be set to IGNORE. Otherwise Firmata would break SPI-communication.
  // add Pin 10 and configure pin 53 as output if using a MEGA with Ethernetshield.
  // No need to ignore pin 10 on MEGA with ENC28J60, as here pin 53 should be connected to SS:
#ifdef NETWORK_FIRMATA
  // ignore SPI and pin 4 that is SS for SD-Card on Ethernet-shield
  for (byte i=0; i < TOTAL_PINS; i++) {
    if (IS_PIN_SPI(i)
        || 4==i
        || 10==i // explicitly ignore pin 10 on MEGA as 53 is hardware-SS but Ethernet-shield uses pin 10 for SS
        || 3==i
        || 0==i
        || 1==i
        ) {
      Firmata.setPinMode(i, IGNORE);
    }
  }
  pinMode(PIN_TO_DIGITAL(10), OUTPUT); // is SPI on DINo
  pinMode(PIN_TO_DIGITAL(4), OUTPUT);// switch off SD-card bypassing Firmata
  digitalWrite(PIN_TO_DIGITAL(4), HIGH); // SS is active low;

  pinMode(PIN_TO_DIGITAL(3), OUTPUT);
    digitalWrite(PIN_TO_DIGITAL(3), HIGH);
  pinMode(PIN_TO_DIGITAL(0), OUTPUT);
    digitalWrite(PIN_TO_DIGITAL(0), HIGH);
  pinMode(PIN_TO_DIGITAL(1), OUTPUT);
    digitalWrite(PIN_TO_DIGITAL(1), HIGH);

  // start up Network Firmata:
  Firmata.begin(stream);
#else
  // start up the default Firmata using Serial interface:
  Firmata.begin(57600);
#endif
  systemResetCallback();  // reset to default config
}

/*==============================================================================
* LOOP()
*============================================================================*/
void loop()
{
#ifdef DigitalInputFirmata_h
  /* DIGITALREAD - as fast as possible, check for changes and output them to the
   * stream buffer using Firmata.write()  */
  digitalInput.report();
#endif

  /* STREAMREAD - processing incoming messagse as soon as possible, while still
   * checking digital inputs.  */
  while (Firmata.available()) {
    Firmata.processInput();
#ifdef FirmataScheduler_h
    if (!Firmata.isParsingMessage()) {
      goto runtasks;
    }
  }
  if (!Firmata.isParsingMessage()) {
runtasks: scheduler.runTasks();
#endif
  }

  /* SEND STREAM WRITE BUFFER - TO DO: make sure that the stream buffer doesn't go over
   * 60 bytes. use a timer to sending an event character every 4 ms to
   * trigger the buffer to dump. */

#ifdef FirmataReporting_h
  if (reporting.elapsed()) {
#ifdef AnalogInputFirmata_h
    /* ANALOGREAD - do all analogReads() at the configured sampling interval */
    analogInput.report();
#endif
#ifdef I2CFirmata_h
    // report i2c data for all device with read continuous mode enabled
    i2c.report();
#endif
#ifdef EncoderFirmata_h
    // report encoders positions if reporting enabled.
    encoder.report();
#endif
  }
#endif
#ifdef StepperFirmata_h
  stepper.update();
#endif
#if defined NETWORK_FIRMATA && !defined local_ip &&!defined _YUN_CLIENT_H_
  if (Ethernet.maintain())
  {
    stream.maintain(Ethernet.localIP());
  }
#endif
}


Um den speicher zu schonen habe ich alle möglichen udp stücke gemäß Forenbeiträgen abgeändert.
und bin jetzt bei 67% Speicher sowie 67% Ram auslastung.

In Fhem konnte ich unter den PIN's

define Relais1 FRM_OUT 8
define Relais2 FRM_OUT 7
define Relais3 FRM_OUT 6
define Relais4 FRM_OUT 5
define INPUT1 FRM_IN 19
define INPUT2 FRM_IN 18
define INPUT3 FRM_IN 17
define INPUT4 FRM_IN 16

auch alles eingeben und nutzen. Relais schalten und Eingänge werden angezeigt.
Das einzige Problem was ich jetzt noch habe ist, dass mir der Dino nach ein paar Stunden abstürzt und ich ihn dann vom Strom trennen muss....
Auch erhalte ich noch diesen Fehler:error Unhandled sysex command
Hier noch der Auszug aus der LOG

2016.03.29 13:58:13 5: FRM:>ff
2016.03.29 13:58:19 4: Connection accepted from DINo_192.168.9.99_1026
2016.03.29 13:58:19 5: FRM:>ff
2016.03.29 13:58:21 3: querying Firmata Firmware Version
2016.03.29 13:58:21 5: FRM:>f079f7
2016.03.29 13:58:21 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100670065006800740061007500630068006900730074006b006c00650069006e00650072002e0069006e006f00f7
2016.03.29 13:58:21 3: Firmata Firmware Version: ConfigurableFirmatagehtauchistkleiner.ino V_2_06
2016.03.29 13:58:21 5: FRM:>f069f7
2016.03.29 13:58:21 5: FRM:>f06bf7
2016.03.29 13:58:21 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7f06c7f7f000101017f7f7f000101017f000101017f000101017f000101017f000101017f7f7f7f7f000101017f000101017f000101017f000101017f000101017f000101017f7f7ff7
2016.03.29 13:58:21 3: received String_data: Unhandled sysex command
2016.03.29 13:58:24 5: FRM:>f07a6807f7
2016.03.29 13:58:24 5: FRM:>f41000
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>f41100
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>f41200
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>f41300
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>d201
2016.03.29 13:58:24 5: FRM:>f40701
2016.03.29 13:58:24 5: FRM:>900000
2016.03.29 13:58:24 5: FRM:>f40601
2016.03.29 13:58:24 5: FRM:>900000
2016.03.29 13:58:24 5: FRM:>f40501
2016.03.29 13:58:24 5: FRM:>900000
2016.03.29 13:58:24 5: FRM:>f40801
2016.03.29 13:58:24 5: FRM:>910000
2016.03.29 13:58:24 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7920000920000920000920000920000920000920000920000
2016.03.29 13:58:24 3: received String_data: Unhandled sysex command


jump to the top

Hat jemand Erfahrungswerte mit diesem Board?
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo rico5588,

dein Board kenne ich zwar nicht, aber vielleicht können wir was gegen Unhandled sysex command tun.

Du hast "FirmataExt firmataExt;" zum Glück nicht auskommentiert und da kommt auch die Fehlermeldung her. FRM fragt Firmata, was das Boad kann und FirmataExt versucht für jedes "firmataExt.addFeature()" zu antworten. Möglicherweise ist da etwas in der INO-Datei unstimmig. Auch wenn das noch nicht die Lösung ist: Bitte den ganzen Block mit "firmataExt.addFeature(...)" auskommentieren bis auf den ersten für "digitalInput", den du ja ohnehin brauchst und noch mal testen. Wenn es dann keine Fehlermeldung mehr gibt, "digitalOutput" hinzufügen und wieder testen. Du kannst so lange einkommentieren, bis der Fehler wieder auftritt und dann weißt du, wer es ist.

Merkwürdig ist, dass du auch ein "Unhandled sysex command" auf "FRM:>910000" bekommst, aber nicht auf "FRM:>900000". Du hast doch mehr als einen digitalen Ausgang und Firmata sollte auf alle gleich reagieren (siehe auch http://www.firmata.org/wiki/V2.3ProtocolDetails).

Allerdings vermute ich, dass deine Stabilitätsprobleme nicht mit der Fehlermeldung zusammen hängen. Habe eine ganze Reihe Tests mit W5100 und ENC28J60 Ethernet-Modulen gemacht. Mein Mini Pro mit W5100, digital In, digital Out und PWM out  läuft seit Monaten durch. Bei einigen anderen Kombinationen sieht die Stabilität nicht ganz so gut aus, wobei ich die genaue Ursache noch nicht ermitteln konnte. Dafür habe ich inzwischen eine Lösung, die aber nicht für jeden akzeptabel ist: den Watchdog aktivieren. Lass es mich wissen, wenn du das ausprobieren willst.

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

rico5588

Hallo jensb,

ich fange mal auszuschließen. Das kommt wenn ich nur Digital in drin lasse.

2016.03.29 19:00:43 4: Connection accepted from DINo_192.168.9.99_1025
2016.03.29 19:00:43 5: FRM:>ff
2016.03.29 19:00:43 5: FRM:<f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7
2016.03.29 19:00:43 3: received String_data: Unknown pin mode
2016.03.29 19:00:43 3: received String_data: Unknown pin mode
2016.03.29 19:00:43 3: received String_data: Unknown pin mode
2016.03.29 19:00:43 3: received String_data: Unknown pin mode
2016.03.29 19:00:43 3: received String_data: Unknown pin mode
2016.03.29 19:00:43 3: received String_data: Unknown pin mode
2016.03.29 19:00:45 3: querying Firmata Firmware Version
2016.03.29 19:00:45 5: FRM:>f079f7
2016.03.29 19:00:45 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100670065006800740061007500630068006900730074006b006c00650069006e00650072002e0069006e006f00f7
2016.03.29 19:00:45 3: Firmata Firmware Version: ConfigurableFirmatagehtauchistkleiner.ino V_2_06
2016.03.29 19:00:45 5: FRM:>f069f7
2016.03.29 19:00:45 5: FRM:>f06bf7
2016.03.29 19:00:45 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7f06c7f7f00017f7f7f00017f00017f00017f00017f00017f7f7f7f7f00017f00017f00017f00017f00017f00017f7f7ff7
2016.03.29 19:00:45 3: received String_data: Unhandled sysex command
2016.03.29 19:00:48 5: FRM:>f07a6807f7
2016.03.29 19:00:48 5: FRM:>f41000
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>f41100
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>f41200
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>f41300
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 5: FRM:>d201
2016.03.29 19:00:48 2: error initializing 'Relais1': unsupported mode '1' for pin '7'
2016.03.29 19:00:48 2: error initializing 'Relais2': unsupported mode '1' for pin '6'
2016.03.29 19:00:48 2: error initializing 'Relais3': unsupported mode '1' for pin '5'
2016.03.29 19:00:48 2: error initializing 'Relais4': unsupported mode '1' for pin '8'
2016.03.29 19:00:51 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7920000920000920000920000920000920000920000920000
2016.03.29 19:00:51 3: received String_data: Unhandled sysex command


und das bei nur digital out
2016.03.29 19:04:46 1: 3030 disconnected, waiting to reappear (DINo_192.168.9.99_1025)
2016.03.29 19:04:52 4: Connection accepted from DINo_192.168.9.99_1026
2016.03.29 19:04:52 5: FRM:>ff
2016.03.29 19:04:54 3: querying Firmata Firmware Version
2016.03.29 19:04:54 5: FRM:>f079f7
2016.03.29 19:04:54 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100670065006800740061007500630068006900730074006b006c00650069006e00650072002e0069006e006f00f7
2016.03.29 19:04:54 3: Firmata Firmware Version: ConfigurableFirmatagehtauchistkleiner.ino V_2_06
2016.03.29 19:04:54 5: FRM:>f069f7
2016.03.29 19:04:54 5: FRM:>f06bf7
2016.03.29 19:04:54 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7f06c7f7f01017f7f7f01017f01017f01017f01017f01017f7f7f7f7f01017f01017f01017f01017f01017f01017f7f7ff7
2016.03.29 19:04:54 3: received String_data: Unhandled sysex command
2016.03.29 19:04:57 5: FRM:>f07a6807f7
2016.03.29 19:04:57 2: error initializing 'Input16': unsupported mode '0' for pin '16'
2016.03.29 19:04:57 2: error initializing 'Input17': unsupported mode '0' for pin '17'
2016.03.29 19:04:57 2: error initializing 'Input18': unsupported mode '0' for pin '18'
2016.03.29 19:04:57 2: error initializing 'Input19': unsupported mode '0' for pin '19'
2016.03.29 19:04:57 5: FRM:>f40701
2016.03.29 19:04:57 5: FRM:>900000
2016.03.29 19:04:57 5: FRM:>f40601
2016.03.29 19:04:57 5: FRM:>900000
2016.03.29 19:04:57 5: FRM:>f40501
2016.03.29 19:04:57 5: FRM:>900000
2016.03.29 19:04:57 5: FRM:>f40801
2016.03.29 19:04:57 5: FRM:>910000
2016.03.29 19:04:57 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7
2016.03.29 19:04:57 3: received String_data: Unhandled sysex command

und das wenn ich nichts drin habe
2016.03.29 19:07:26 4: Connection accepted from DINo_192.168.9.99_1025
2016.03.29 19:07:26 5: FRM:>ff
2016.03.29 19:07:27 5: FRM:<f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7
2016.03.29 19:07:27 3: received String_data: Unknown pin mode
2016.03.29 19:07:27 3: received String_data: Unknown pin mode
2016.03.29 19:07:27 3: received String_data: Unknown pin mode
2016.03.29 19:07:27 3: received String_data: Unknown pin mode
2016.03.29 19:07:27 3: received String_data: Unknown pin mode
2016.03.29 19:07:27 3: received String_data: Unknown pin mode
2016.03.29 19:07:28 3: querying Firmata Firmware Version
2016.03.29 19:07:28 5: FRM:>f079f7
2016.03.29 19:07:29 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100670065006800740061007500630068006900730074006b006c00650069006e00650072002e0069006e006f00f7
2016.03.29 19:07:29 3: Firmata Firmware Version: ConfigurableFirmatagehtauchistkleiner.ino V_2_06
2016.03.29 19:07:29 5: FRM:>f069f7
2016.03.29 19:07:29 5: FRM:>f06bf7
2016.03.29 19:07:29 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7f06c7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7f7ff7
2016.03.29 19:07:29 3: received String_data: Unhandled sysex command
2016.03.29 19:07:31 5: FRM:>f07a6807f7
2016.03.29 19:07:31 2: error initializing 'Input16': unsupported mode '0' for pin '16'
2016.03.29 19:07:32 2: error initializing 'Input17': unsupported mode '0' for pin '17'
2016.03.29 19:07:32 2: error initializing 'Input18': unsupported mode '0' for pin '18'
2016.03.29 19:07:32 2: error initializing 'Input19': unsupported mode '0' for pin '19'
2016.03.29 19:07:32 2: error initializing 'Relais1': unsupported mode '1' for pin '7'
2016.03.29 19:07:32 2: error initializing 'Relais2': unsupported mode '1' for pin '6'
2016.03.29 19:07:32 2: error initializing 'Relais3': unsupported mode '1' for pin '5'
2016.03.29 19:07:32 2: error initializing 'Relais4': unsupported mode '1' for pin '8'
2016.03.29 19:07:32 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7
2016.03.29 19:07:32 3: received String_data: Unhandled sysex command


Mir ist auch noch aufgefallen das eine Baugruppe derart heiss wird das man sich fast die Finger verbrennt.... Irgendwie vermute ich das mit der PIN config für den ethernetshield was nicht stimmt.
Auch finde ich es komisch das ich pin 16,17,18 und 19 in als Eingang definiere und laut Anleitung sollten es PIN 2,3,4 und 5 sein...
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo rico5588,

ein bisschen hilft das weiter. Das 2. "Unhandled sysex command" kommt also von "FRM:>f07a6807f7" und das ist das sampling-interval. Wenn du keine analogen Eingänge hast, brauchst du es nicht in FRM zu konfigurieren.

Das 1. "Unhandled sysex command" stammt wahrscheinlich von "FRM:>f069f7" und das ist die Abfrage für die analogen Pins. Da du Analog im INO deaktiviert hast und FRM immer danach fragt ist das normal.

Richtig heiß (Finger wollen weg) sollte nichts bei dir sein, bestenfalls warm. Falsch kann der Anschluss von deinem Ethernetshield auch nicht sein, sonst würde gar nichts passieren. Allerdings muss Firmata die Finger von den SPI-Pins lassen. Dafür gibt es den Block


for (byte i = 0; i < TOTAL_PINS; i++) {
    if (IS_PIN_SPI(i)
        || 4 == i  // SD-Card on Ethernet-shiedl uses pin 4 for SS
        || 10 == i // Ethernet-shield uses pin 10 for SS
       ) {
      Firmata.setPinMode(i, PIN_MODE_IGNORE);
    }
  }


im INO. Dabei wird "IS_PIN_SPI" verwendet, dass von der Standard-Pinbelegung für den jeweiligen Chip ausgeht (z.B. Pins 10 bis 13 bei einem ATmega328). Diese Pins werden dann von FRM auch nicht als verfügbare input_pins bzw. output_pins aufgelistet.

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

rico5588

Hallo Jens,

ich habe jetzt mal noch Pin 11-13 hinzugefügt.
#ifdef NETWORK_FIRMATA
  // ignore SPI and pin 4 that is SS for SD-Card on Ethernet-shield
  for (byte i = 0; i < TOTAL_PINS; i++) {
    if (IS_PIN_SPI(i)
        || 4 == i   //wichtig!!!
        || 10 == i // wichtig !!! explicitly ignore pin 10 on MEGA as 53 is hardware-SS but Ethernet-shield uses pin 10 for SS
        || 3 == i
        || 0 == i
        || 1 == i
        || 11 == i
        || 12 == i
        || 13 == i
       
       ) {
      Firmata.setPinMode(i, IGNORE);
    }
  }
  pinMode(PIN_TO_DIGITAL(10), OUTPUT); // is SPI on DINo
  pinMode(PIN_TO_DIGITAL(4), OUTPUT);// switch off SD-card bypassing Firmata
  digitalWrite(PIN_TO_DIGITAL(4), HIGH); // SS is active low;

  pinMode(PIN_TO_DIGITAL(3), OUTPUT);
  //digitalWrite(PIN_TO_DIGITAL(3), HIGH);
  pinMode(PIN_TO_DIGITAL(0), OUTPUT);
  //digitalWrite(PIN_TO_DIGITAL(0), HIGH);
  pinMode(PIN_TO_DIGITAL(1), OUTPUT);
  //digitalWrite(PIN_TO_DIGITAL(1), HIGH);

  // start up Network Firmata:

und werde mal testen.
du hast auch noch geschrieben das mir die Pins dann nicht aufgelistet werden.... bei mir werden leider garkeine PIN's in FHEM aufgelistet. Habe ich nur durch Probieren herausgefunden wer was macht.
(//)
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo rico5588,

dass deine Pins nicht angezeigt werden, deutet darauf hin, dass sich deine FHEM-Firmata-Komonenten nicht mit ConfigurableFirmata 2.6 vertragen. Es sollte nämlich eher so aussehen wie bei dem Screeshot im Anhang. Wenn du nicht auf ConfigurableFirmata 2.5 oder StandardFirmata wechseln willst, kannst du es mit einem experimentellen Update versuchen. Dazu brauchst du:


Diese Versionen werden momentan noch überarbeitet und sind deshalb noch nicht Teil der offiziellen FHEM-Ausgabe.

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

rico5588

Das würde ich gern versuchen,

die 10_FRM einfach austauschen mit der im Fhem Ordner ?
Was mach ich mit der Firmata.pm ? Gehört da noch mehr dazu oder reicht es wenn ich diese ebenfalls in den FHEM ordner Kopiere?

MFG Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo rico5588,

bitte prüfe erst, ob du wirklich ältere Firmata-Komponenten in FHEM verwendest, sonst machst du dir unnötig viel Arbeit. Die Version 10_FRM.pm von vor 29 Tagen https://github.com/ntruchsess/fhem-mirror/blob/dev/fhem/FHEM/10_FRM.pm (siehe Zeitstempel in Zeile 2) sollte es bereits tun.

Zum Installieren die momentane 10_FRM.pm umbenennen, die neue Version ins gleiche Verzeichnis und dann entweder "reload 10_FRM" oder Neustart.

Für Perl-Firmata auf "Download ZIP" drücken und alles aus dem Zip-Verzeichnis lib/Device in das Unterverzeichnis FHEM/lib/Device auspacken. Auch hier vorher die vorhandenen Dateien und Verzeichnisse sichern. Ggf. die Dateirechte nach dem Auspacken manuell korrigieren. Nach dem Austausch ist ein Neustart erforderlich.

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

rico5588

Hallo Jens,

bei der firmata.pm habe ich als aktuellste Version nur die 0.60 gefunden und diese auch aufgespielt?, hatte aber vorher die 0.59 drauf.
bei der 10_FRM.pm habe ich überhaupt nicht durchgesehen was da jetzt aktuell ist und was nicht.

in meiner Fhem 10_FRM.pm habe ich einen Datumsstempel vom 26.01.2016 stehen
in der aus deinem link steht was vom 15.09.2015 im Quelltext ??? (gehen tut sie jedenfalls.)
-->jedoch alles ohne erfolg.
Pins werden nicht angezeigt und auch der Fehler ist noch da.
2016.03.30 15:15:39 4: Connection accepted from DINo_192.168.9.99_1290
2016.03.30 15:15:39 5: FRM:>ff
2016.03.30 15:15:41 3: querying Firmata Versions
2016.03.30 15:15:41 5: FRM:>f079f7
2016.03.30 15:15:41 5: FRM:>f90000
2016.03.30 15:15:42 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100670065006800740061007500630068006900730074006b006c00650069006e00650072002e0069006e006f00f7f90206
2016.03.30 15:15:42 3: Firmata Firmware Version: ConfigurableFirmatagehtauchistkleiner.ino V_2_06 (using Protocol Version: V_2_06)
2016.03.30 15:15:42 5: FRM:>f069f7
2016.03.30 15:15:42 5: FRM:>f06bf7
2016.03.30 15:15:42 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7f06c7f7f7f7f7f000101017f000101017f000101017f000101017f000101017f7f7f7f7f7f000101017f000101017f000101017f000101017f000101017f7f7ff7
2016.03.30 15:15:42 3: received String_data: Unhandled sysex command
2016.03.30 15:15:44 5: FRM:>f07a6807f7
2016.03.30 15:15:44 5: FRM:>f41000
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>f41100
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>f41200
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>f41300
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:44 5: FRM:>d201
2016.03.30 15:15:45 5: FRM:>f40701
2016.03.30 15:15:45 5: FRM:>900000
2016.03.30 15:15:45 5: FRM:>f40601
2016.03.30 15:15:45 5: FRM:>900000
2016.03.30 15:15:45 5: FRM:>f40501
2016.03.30 15:15:45 5: FRM:>900000
2016.03.30 15:15:45 5: FRM:>f40801
2016.03.30 15:15:45 5: FRM:>910000
2016.03.30 15:15:45 3: Wetter: connect to to https://query.yahooapis.com:443 timed out
2016.03.30 15:15:45 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7920000920000920000920000920000920000920000920000
2016.03.30 15:15:45 3: received String_data: Unhandled sysex command
2016.03.30 15:15:53 5: FRM:>904000
2016.03.30 15:15:53 5: FRM:>900000
2016.03.30 15:15:56 5: FRM:>902000
2016.03.30 15:15:56 5: FRM:>900000


an meinem Temperaturproblem arbeite ich noch.
Test 1 - anderes Netzteil hat wenig gebracht. das alte hat 13,5 V -->jetzt 11 V -->gefühlt kann man jetzt 3 sec. ranfasen bevor man sich die Finger verbrennt :D
Test 2 - Original Sketch vom hersteller.

MFG Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo Rico,

diese FRM-Version reicht, sie sagt "using Protocol Version ..." und kann damit auch wirklich mit ConfigurableFirmata 2.6 umgehen. In dem Link den ich dir genannt habe ist in Wirklichkeit die Version 0.61 drin, schau mal in der Datei Changes.

Das Problem liegt damit auf Firmata-Seite, dass nicht wie gewünscht auf die Capability-Anfrage "FRM:>f06bf7" reagiert.

Schau mal in die Datei "DigitalOutputFirmata.cpp". Die Funktion "handleCapability" wird durch "f06bf7" über "FirmataExt::handleSysex/CAPABILITY_QUERY" aufgerufen. Nur wenn "IS_PIN_DIGITAL" immer "false" ist bleibt Firmata stumm und antwortet nichts. Das kann z.B. dann passieren, wenn die Arduino-IDE dem Compiler ein Board übergibt, dass von Firmata nicht unterstützt wird.

Was hast du bei dir für ein Board eingestellt? Was steht bei dir in den Arduino-Compilerzeilen alles hinter "-D"?

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

rico5588

Hallo Jens,

bei mir ist ein Arduino Pro or Pro Mini, Atmega328 (5V, 16 MHZ) eingestellt.
Hoffe das war das was du wissen wolltest. (Arduino und das alles kenne ich erst seit 6 Wochen  :o, habe also noch nicht so viel wissen)
Das Board habe ich nach Anleitung eingestellt....
https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=5&ved=0ahUKEwiCp_GB3OjLAhUBWRoKHd5eC0kQFgg8MAQ&url=http%3A%2F%2Fwww.kmtronic.com%2Fmanuals%2Fkmtronic_DINo_Netboard_manual.pdf&usg=AFQjCNF4CjgK9RiPelpOJ5ZQ64wh8f7G4Q&sig2=mmgQM0btU9ZVzDeO0crm7Q&cad=rja
Aber ich denke nach wie vor auch das was mit dem configurableFirmata nicht stimmt...

MFG Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo Rico,

der ATmega328 wird von Firmata voll unterstützt. Wenn du in der IDE das Board so eingestellt hast, wie in der Anleitung beschrieben, sollte es eigentlich funktionieren. Habe mir dein gepostetes INO angesehen, da ist alles so wie es sein sollte. Wenn du in der IDE unter "Voreinstellungen - Ausführliche Ausgabe während Kompilierung" aktivierst, bekommst du übrigens die "-D" Compileroptionen zu sehen.

Du hast noch ein paar Optionen:


  • Ich verwende momentan die Arduino IDE 1.6.7, mit 1.6.6. gabs Probleme, ggf. updaten.
  • Aktiviere testweise AnalogInputFirmata, auch wenn du es nicht brauchst, dann sollte das verbleibende "Unhandled sysex command" verschwinden.
  • Mit deiner für Firmata modifizierten FHEM-Installation kannst du auch die aktuelle Version von ConfigurableFirmata (2.8.2) ausprobieren, die sich unter FHEM als V_2_08 melden wird.
  • Wenn all das nicht hilft, kann man es mit einer manuell auskommentierten Variante von StandardFirmataEthernet versuchen, die ich vorzugsweise verwende, da sie z.T. sogar etwas kleiner wird als ConfigurableFirmata. Allerdings müsstest du in der aktuellen Version 2.5.2 UIPEthernet selbst wieder einbauen, da es im Beispiel nicht mehr enthalten ist.

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

jensb

Hallo Rico,

habe das ganze mal mit der folgenden Konfiguration nachgestellt:

  • Sparkfun Arduino Pro Mini ATmega328 3.3V
  • ENC28J60 Ethernet Modul
  • Arduino IDE 1.6.7
  • UIPEthernet 1.09
  • Configurabe Firmata 2.8.2 mit aktiviertem DigitalIn, DigatalOut und AnalogIn
  • FHEM mit aktualisiertem 10_FRM und  Firmata-Treiber

Entscheidend ist aber scheinbar nur, dass AnalogInputFirmata aktiviert wird, selbst wenn man es nicht braucht, so wie ich es vorgeschlagen hatte. Damit müsstest du in FHEM endlich die digitalen und analogen Pins angezeigt bekommen - und mit dieser kleinen Änderung müsste es auch in deiner ursprünglichen Konfiguration mit ConfigurabelFirmata 2.6 laufen.

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

rico5588

Hallo Jens,

das ist ja ne menge Brot zum Testen ;).
Ich glaube einen kleinen Erfolg kann ich schon verbuchen.
Mein neues Testneztteil (Chinaimport)  ist mittlerweile auf 10 V (Original sollte es 12V haben) zusammengebrochen, das gute daran mein Board läuft seit gestern durch....freute freute....
Werde mal testen bis wohin meine Relais noch schalten.

Deine Tipps werde ich alle noch abarbeiten. Den einen habe ich versucht.
-->Analoginput eingeschalten
dabei kommt das raus.
2016.03.31 18:49:03 4: Connection accepted from DINo_192.168.9.99_1026
2016.03.31 18:49:03 5: FRM:>ff
2016.03.31 18:49:03 5: FRM:<f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7f07155006e006b006e006f0077006e002000700069006e0020006d006f0064006500f7
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:03 3: received String_data: Unknown pin mode
2016.03.31 18:49:05 3: querying Firmata Versions
2016.03.31 18:49:05 5: FRM:>f079f7
2016.03.31 18:49:05 5: FRM:>f90000
2016.03.31 18:49:05 5: FRM:<f079020643006f006e0066006900670075007200610062006c0065004600690072006d00610074006100670065006800740061007500630068006900730074006b006c00650069006e00650072002e0069006e006f00f7f90206
2016.03.31 18:49:05 3: Firmata Firmware Version: ConfigurableFirmatagehtauchistkleiner.ino V_2_06 (using Protocol Version: V_2_06)
2016.03.31 18:49:05 5: FRM:>f069f7
2016.03.31 18:49:05 5: FRM:>f06bf7
2016.03.31 18:49:05 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7f06c7f7f7f7f7f000101017f000101017f000101017f000101017f000101017f7f7f7f7f7f000101017f000101017f000101017f000101017f000101017f7f7ff7
2016.03.31 18:49:05 3: received String_data: Unhandled sysex command
2016.03.31 18:49:08 5: FRM:>f07a6807f7
2016.03.31 18:49:08 5: FRM:>f41000
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>f41100
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>f41200
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>f41300
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>d201
2016.03.31 18:49:08 5: FRM:>f40701
2016.03.31 18:49:08 5: FRM:>900000
2016.03.31 18:49:08 5: FRM:>f40601
2016.03.31 18:49:08 5: FRM:>900000
2016.03.31 18:49:08 5: FRM:>f40501
2016.03.31 18:49:08 5: FRM:>900000
2016.03.31 18:49:08 5: FRM:>f40801
2016.03.31 18:49:08 5: FRM:>910000
2016.03.31 18:49:08 5: FRM:<f07155006e00680061006e0064006c0065006400200073007900730065007800200063006f006d006d0061006e006400f7920000920000920000920000920000920000920000920000
2016.03.31 18:49:08 3: received String_data: Unhandled sysex command


zumindest kommt was von PIN'S

Später dazu mehr
Mfg Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS423+
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

jensb

Hallo Rico,

das sieht immer noch ziemlich atypisch aus. Firmata regiert auf "FF" mit einem Soft-Reset, wo alle Pins in den Firmata-Grundzustand zurückversetzt werden: analoge auf Eingang, alle anderen (also die, die nur digital können) auf Ausgang. Wenn dabei "Unknown pin mode" heraus kommt, stimmt immer noch was nicht mit deinem ConfigurableFirmata. Das muss ohne Fehler ablaufen, wenn du Digital In, Digital Out und Analog In aktivierst. Probier mal mein INO mit ConfigurableFirmata 2.8.2 aus.

Gibt es eigentlich einen Schaltplan zu dem Board? Der ATmega328 und der ENC28J60 verbrauchen je grob 200 mA. Wenn der Spannungsregler ein Linearregler ist, ist die Hize zu erklären: 12 V - 5 V = 7 V Spannungsdifferenz und das bei ca. 400 mA Last gibt 2.8 W Verlustleistung und die müssen irgendwo bleiben.

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