FHEM+Arduino Firmata via Ethernet+RF 433 Mhz Sender+Baumarkt-Funksteckdosen

Begonnen von blueberry63, 08 April 2014, 16:16:31

Vorheriges Thema - Nächstes Thema

Christian.

Hallo Karl,

Zitat von: digital.arts am 25 November 2014, 22:15:33

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


das ist ein bisschen zuviel. FirmataExt ist wichtig für die Kommunikation mit dem Host. Nimm es mal dazu und probiers es nochmal, der Rest sieht gut aus.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

digital.arts

Guten Morgen,
@Christian.
Danke für den Hinweis, werde ich heute Abend testen...

vg
Karl
FHEM auf RPi; CUL868 für FHT; NanoCUL433 für IT und Revolt; Fhemduino für IT und Temp/Hum; RFXTRX433e für IT/FA20RF/Funkgong/HomeEasy; NanoFirmataEth für 1wire Temp

blueberry63

da bin ich mal gespannt, ob das alles noch in den Speicher paßt...
::)
Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

digital.arts

Hallo,
@Christian.
Super, das war es ! Mit aktiviertem firmataExt schalten die Steckdosen, auch die Fernbedienungen werden erkannt. Danke nochmal für den Tip.

@blueberry63
Na ja, nachdem ich auch wieder die Funktion für den ENC28J60 aktiviert hatte, ging zwar das flashen noch, aber 29.xxx belegte Bytes von 30.xxx war doch zuviel.
So wurde der Nano nicht mehr im FHEM erkannt... ABER: weil ich eigentlich eh nur die 433er Sendefunktion brauche, testweise die Funktion digitalinputfirmata deaktiviert...
UND: nur noch 28.580 von 30.720 Bytes Größe ! Damit funktioniert es !! 433er Dosen schalten über LAN.
OK, wenn ich dann mal die bestellten W5100 bekomme, dann wird der Sketch auch wieder kleiner und ich kann dann sogar die 1wire-Funktion mit aktivieren...

Aber so funktioniert es auf jeden Fall schon mal, und damit bin ich schon zufrieden (vorerst)  ;)

VG
Karl

FHEM auf RPi; CUL868 für FHT; NanoCUL433 für IT und Revolt; Fhemduino für IT und Temp/Hum; RFXTRX433e für IT/FA20RF/Funkgong/HomeEasy; NanoFirmataEth für 1wire Temp

blueberry63

@Christian,

pünktlich zum 1. Advent habe ich meine Weihnachtsbeleuchtung, gesteuert über Funksteckdosen, aktiviert. Dabei ist mir aufgefallen, daß ich nicht mehrere Dosen gleichzeitig schalten kann. In der Weboberfläche wurden die Geräte als "eingeschalltet" angezeigt, wirklich geschaltet hatte aber nur eine von drei Steckdosen. Wenn ich das Ein-/Ausschalten zeitlich auseinanderziehe, funktioniert es prima. Hast Du/jemand dazu eine Erklärung?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

RitterSport

Kann ich Bestätigen, das gleiche Problem bei mir.
Also als Bsp. ein set IT1 on ;; set IT2 on etc geht nicht. Ich ziehe sie auch auseinander.

Christian.

Zitat von: blueberry63 am 01 Dezember 2014, 14:15:27Dabei ist mir aufgefallen, daß ich nicht mehrere Dosen gleichzeitig schalten kann.

Das kann ich nicht reproduzieren. Ich habe gerade bei mir
set steckdose_(a|c) on
probiert, das funktioniert wie erwartet. Das Log sieht (mit verbose 5) auch wie erwartet aus:
2014.12.01 15:57:00 2: IT set steckdose_a on
2014.12.01 15:57:00 4: sender: Sending 0 40 7 1 87 3
2014.12.01 15:57:00 5: FRM:>f0002807012e0d00f7
2014.12.01 15:57:00 5: SW: f0002807012e0d00f7
2014.12.01 15:57:00 2: IT set steckdose_c on
2014.12.01 15:57:00 4: sender: Sending 0 40 7 4 84 81
2014.12.01 15:57:00 5: FRM:>f000280704284502f7
2014.12.01 15:57:00 5: SW: f000280704284502f7
2014.12.01 15:57:00 5: FRM:<f0002807012e0d00f7
2014.12.01 15:57:00 4: tristateCode: 000FFFF10001
2014.12.01 15:57:01 5: FRM:<f000280704284502f7
2014.12.01 15:57:01 4: tristateCode: 00F0FFF0FF0F


Wie sieht denn Euer Log aus?

Möglicherweise bringt es auch etwas, die Attribute pulseLength und repeatTransmit des FRM_RCOUT-Moduls zu variieren. Ich habe mich bei mir an den Werten der Original-Fernbedienung orientiert.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

blueberry63

Bei mir im LOG waren die Ein-Ausschalt-Befehle ganz normal zusehen. Ich könnte heute Abend nochmal mit VERBOSE=5 eine Test machen.


ZitatMöglicherweise bringt es auch etwas, die Attribute pulseLength und repeatTransmit des FRM_RCOUT-Moduls zu variieren

Wie ermittle ich denn die Werte für pulseLength und repeatTransmit?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Christian.

Zitat von: blueberry63 am 01 Dezember 2014, 16:14:59Wie ermittle ich denn die Werte für pulseLength und repeatTransmit?

pulseLength ist die Dauer eines Signals; für die Ermittlung habe ich die Original-Fernbedienung betätigt und den empfangenen Wert aus dem FRM_RCIN-device abgelesen (ich habe 2 verschiedene Fabrikate und erhalte einen Wert von 190 bzw. 350). repeatTransmit ist die Anzahl von Wiederholungen des Signals; der RCSwitch-Default für ist 10, man könnte also z.B. Werte zwischen 2 und 20 probieren.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

RitterSport

Ich muss meine Aussage revidieren:

Sie schalten bei mir auch zu gleichen Zeiten, WENN die IT-Dosen weit genug auseinander sind. Gerade mal getestet.
Aufgefallen war mir das Verhalten allerdings bei einer Konstruktion , beid er 2 Dosen nebeneinander waren....

zentis666

Hallo!
Ich muss das alte Thema nochmal aufwärmen:
bei mir läuft Firmata auf einem Arduino Mega mit Ethernet Shield seit ca. 2 Monaten problemlos.
Kompiliert habe ich mit IDE 1.0.6, ich schalte meine Pollin Funksteckdosen.

Nun wollte ich heute auf einen Nano mit ENC28J60 umziehen und hab ein Update auf die akutelle IDE (1.6.4) gemacht.
Ich hab den Sketch umkonfiguriert ( ENC28J60 lib ist installiert) und auf dem neuen IDE kompiliert das Ganze nicht mehr:
Ich bekomme bei den .h Dateien immer
ConfigurableFirmata.ino:92:41: fatal error: utility/DigitalInputFirmata.h: No such file or directory
Das ist unter Windows und auch unter Linux Mint (Debian) so.

Den aktuellen Sketch von Github hab ich auch gezogen, kommt das Gleiche.

Wenn ich den Pfad komplett in den Sketch schreibe sind diese Fehler weg, dann bekomme ich aber weitere Fehler, z.B.

ConfigurableFirmata.ino:106:1: error: 'ServoFirmata' does not name a type
ConfigurableFirmata.ino: In function 'void systemResetCallback()':
ConfigurableFirmata.ino:184:15: error: 'class FirmataClass' has no member named 'setPinMode'
ConfigurableFirmata.ino: In function 'void loop()':
ConfigurableFirmata.ino:300:18: error: 'class FirmataClass' has no member named 'isParsingMessage'
ConfigurableFirmata.ino:304:16: error: 'class FirmataClass' has no member named 'isParsingMessage'
'ServoFirmata' does not name a type


Läuft das Ganze überhaupt auf dem akutellen IDE oder kann man Firmata nur mit 1.0.* nutzen?
Oder mach ich irgendwas grundsätzlich falsch?

Gruß
Sven
--
FHEM auf Debian VM - ESXi 6.0 Intel Nuc i5 4th Gen, Homematic auf HMCCU - RaspberryMatic auf Raspberry PI 3,
EM1000 & FS20 über CUNO,  IT über Arduino Firmata, MiLight über WLAN-nRF Gateway, Ebus, 1Wire, diverse Squeezeboxen, Dreambox 920UHD, Homebridge

Christian.

Zitat von: zentis666 am 04 Juni 2015, 20:11:13
Läuft das Ganze überhaupt auf dem akutellen IDE oder kann man Firmata nur mit 1.0.* nutzen?

ich arbeite mit der Arduino IDE 1.5.6-r2, das klappt nach wie vor ohne Probleme. Ich hatte mal die Version 1.5.8 probiert, damit kam es aber zu Compile-Fehlern. Die aktuelle 1.6.4 funktioniert bei mir auch nicht. Ich vermute, dass nicht mehr die Firmata-Version aus dem Benutzererzeichnis eingebunden wird. Ich habe es mir aber nicht genauer angesehen.

Nebenbei bemerkt finde ich es übrigens ziemlich daneben, wenn eine Anwendung zwischen Version 1.5.6 auf 1.5.8 sich derart inkompatibel ändert...
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

blueberry63

Hallo,

seit einiger Zeit bekomme ich nach einem FHEM Update folgende Zeilen angezeigt:

Zitat
Calling /usr/bin/perl ./contrib/commandref_join.pl, this may take a while
EN FHEM/20_FRM_RCOUT.pm: Unbalanced code (-2, last line ok: 339)

Das Schalten der Baumarkt/IT-Steckdosen funktioniert noch einwand frei. Kann ich die Meldung ignorieren?

Gruß
Blueberry63
FHEM auf BBB mit Wheezy: 1x CUL_HM_HM_SCI_3_FM, 1x INSTAR CAM3010, 1x HM-LC-SW1-PL2, 1x HM-LC-Bl1PBU-FM, 1x HM-Sen-MDIR-O, Viessmann Heizung, Gaszähler via GPIO, Klingel via HM-LC-Bl1PBU-FM an FBox, Mailcheck, AVR, XBMC, NanoCUL 433+668 an Raspi per Ethernet, Funksteckdosen (Pollin, IT), Automower

Christian.

Ja. In der genannten Zeile 339 befindet sich die HTML-Dokumentation des Moduls:
      <code>pulseLength</code>: RCSwitch parameter <code>pulseLength</code>
      (default: 350; see RCSwitch documentation for details)</code>

Das abschließende </code> wird das Problem sein. Völlig unkritisch.
Raspberry Pi 3 mit FHEM; Arduino Nano mit ConfigurableFirmata (S0-Stromzähler); nanoCUL (MAX!); SIGNALduino (RXB6, 433 MHz); eBus; RS485 & D0 (SolarView); DVB-T (Thermo-/Hygrometer); Z-Wave; ZigBee

zentis666

Guten Abend!
Ich hab es endlich geschafft meinen ersten Nano zu betanken,
mit den Resten meiner alten Konfig konnte ich schon mal das Signal meiner Pollin FB empfangen,
prinzipiell geht es also. Da senden nicht ging hab ich die 3 defines mal gelöscht und wollte sie neu anlegen. define ARDnano FRM 3030 global mach ich als erstes. Leider bekomme ich nun nach define SEND433 FRM_RCOUT 7
oder auch define EMPF433 FRM_RCIN 2 immer SEND433/EMPF433 no IODev assigned

Ich steh grad auf dem Schlauch... wie bekomme ich denn das IODev zugeordnet?
Gruss
Sven
--
FHEM auf Debian VM - ESXi 6.0 Intel Nuc i5 4th Gen, Homematic auf HMCCU - RaspberryMatic auf Raspberry PI 3,
EM1000 & FS20 über CUNO,  IT über Arduino Firmata, MiLight über WLAN-nRF Gateway, Ebus, 1Wire, diverse Squeezeboxen, Dreambox 920UHD, Homebridge