FHEMduino

Begonnen von mdorenka, 06 Dezember 2013, 15:34:39

Vorheriges Thema - Nächstes Thema

kaihs

Ergänzung: PT2262 senden/schalten klappt jetzt auch.
ich musste lediglich die repetition auf 6 setzen.
Vielleicht sollte das der Standard sein, ist zumindest in der culfw so.

Zitat
i<func>

    InterTechno (R) mode.
    <func> is one of:
        t<dez>
        Sets the time in us (microseconds) for a single wave-puls typical values are: 360-470 Default: 420 (good for most InterTechno compatible Devices)
        sr<dez>
        Sets the number of repetition for the InterTechno Command. The command needs to be sent several times, as the receivers are comparing several receptions. Default: 6 Note: Some discounter versions are toggling too much, then reduce to ~4
        s<AAAAAAAAAAAA> Note: 12-Address/Data Bits
        Sends an InterTechno command A-Address/Data Bit is Tri-State 0 /1/F (float) (see Notes at the end)

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

Olly

Zitat von: JoWiemann am 24 Juli 2014, 15:15:36
Hallo,

ich habe die Funktion den Arduino zu flashen aus dem JeeLink.pm rüber kopiert s. http://forum.fhem.de/index.php/topic,14786.msg173160/topicseen.html#msg173160 und vielen Dank an die dortigen Entwickler.

Leider weigert sich bei mir der avrdude (sudo apt-get install avrdude), sowohl aus FHEM also auch aus der Konsole heraus meinen Nano zu flashen. Vielleicht hab ihr ja mehr Erfolg.

Grüße Jörg
Hallo Jörg,

wenn ich das im verlinkten Beitrag richtig verstanden habe, wird dort ja das Hex-File an avrdude übergeben.
Für den Arduino müsste man dann ja aus dem Sketch (ino-Datei) erst mal eine Hex-Datei erzeugen.....

Gruß
   
    Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

kaihs

Zitat von: Olly am 24 Juli 2014, 19:45:52
Für den Arduino müsste man dann ja aus dem Sketch (ino-Datei) erst mal eine Hex-Datei erzeugen.....

Die wird ja immer von der arduino IDE erzeugt, die ruft dann auch avrdude zum flashen auf.

Die Hex-Datei liegt im build Verzeichnis, bei mir unter /tmp/build*.tmp zu finden:

-rw-r--r-- 1 kai users 43962 24. Jul 17:35 /tmp/build2594461152758064384.tmp/NewFHEMduino.cpp.hex
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

JoWiemann

Zitat von: kaihs am 24 Juli 2014, 19:14:36
Ergänzung: PT2262 senden/schalten klappt jetzt auch.
ich musste lediglich die repetition auf 6 setzen.
Vielleicht sollte das der Standard sein, ist zumindest in der culfw so.

Kai
Hast Du das im Sketch oder über attr device ITrepetition gemacht?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

kaihs

Zitat von: JoWiemann am 24 Juli 2014, 19:59:23
Hast Du das im Sketch oder über attr device ITrepetition gemacht?

Per
attr device ITrepetition 6

Gruß,

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

Olly

Zitat von: kaihs am 24 Juli 2014, 19:50:59
Die wird ja immer von der arduino IDE erzeugt, die ruft dann auch avrdude zum flashen auf.

Die Hex-Datei liegt im build Verzeichnis, bei mir unter /tmp/build*.tmp zu finden:

-rw-r--r-- 1 kai users 43962 24. Jul 17:35 /tmp/build2594461152758064384.tmp/NewFHEMduino.cpp.hex

Komfortabel ist das dann aber nicht gerade :-(

Gruß

    Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

Spezialtrick

Guten Abend. :)

Bei mir klappt das flashen direkt über FHEM auch nicht:

flashing Arduino FHEMduino
hex file: /opt/fhem/hexFile/NewFHEMduino.ino
port: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A603V98P-if00-port0
log file: ./log/FHEMduino-Flash.log
FHEMduino closed
command: avrdude -p atmega328P -c arduino -P /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A603V98P-if00-port0 -D -U flash:w:/opt/fhem/hexFile/NewFHEMduino.ino 2>./log/FHEMduino-Flash.log

--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------

FHEMduino opened


Leider werden die KW9010 Thermometer auch nicht per Autocreate angelegt. Das Autocreate von Elro Steckdose über die Fernbedienung funktioniert einwandfrei.
FHEM - Debmatic - Zigbee2MQTT - Homekit

Olly

Zitat von: Spezialtrick am 24 Juli 2014, 20:24:26
Guten Abend. :)

Bei mir klappt das flashen direkt über FHEM auch nicht:

flashing Arduino FHEMduino
hex file: /opt/fhem/hexFile/NewFHEMduino.ino
port: /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A603V98P-if00-port0
log file: ./log/FHEMduino-Flash.log
FHEMduino closed
command: avrdude -p atmega328P -c arduino -P /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A603V98P-if00-port0 -D -U flash:w:/opt/fhem/hexFile/NewFHEMduino.ino 2>./log/FHEMduino-Flash.log

--- AVRDUDE ---------------------------------------------------------------------------------
avrdude: stk500_recv(): programmer is not responding

avrdude done.  Thank you.

--- AVRDUDE ---------------------------------------------------------------------------------

FHEMduino opened


Leider werden die KW9010 Thermometer auch nicht per Autocreate angelegt. Das Autocreate von Elro Steckdose über die Fernbedienung funktioniert einwandfrei.
Das ist ja quasi das was ich sage, die ino-Datei direkt kann man mit avrdude nicht flashen, man muss erst eine hex-Datei erzeugen.

Gruß

    Olly
BananaPi 1GB;NetCSM 868MHz, miniCUL 433MHz, LaCrosseGateway, 2x SignalESP; FHEM 6.2

JoWiemann

Zitat von: Olly am 24 Juli 2014, 20:19:38
Komfortabel ist das dann aber nicht gerade :-(


Hallo Olly,

dann posten wir halt die .ini und die .hex. Ohne eigene Kontrolle, ob die .ino sauber compiliert wird, würde ich die nicht im Produktivsystem kompilieren und flashen lassen. Und beim kompilieren in der Arduino IDE liegt die .hex ja eh vor.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

kaihs

Wie schon richtig erkannt, kann man die ino-Datei nicht direkt flashen.
Das ist ja der Quelltext, der wird vom Compiler in eine Objektdatei übersetzt (.o), dann vom Linker zusammen mit Libraries zu einem elf-File gebunden.
Das muss dann mit obj-dump in eine Hex-Datei konvertiert werden. Die kann dann von avrdude gelesen und in den Arduino geflasht werden.

Die Arduino IDE versteckt das alles und macht das im Hintergrund wenn man auf Upload drückt.

Normalerweile hat man ja bereits eine Hex-Datei, die könnte man dann aus fhem flashen. So passiert das bei der culfw und beim Jeelink.
Wenn es eine stabile Version der fhemduino Software gibt kann man es ja auch so machen.

Bis dahin muss man die Hex-Datei halt selber erzeugen.
Alternative wäre inotool www.inotool.org, damit kann man per Kommandozeilenbefehl all das machen was auch die Arduino IDE macht.

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

JoWiemann

#715
Zitat von: kaihs am 24 Juli 2014, 19:02:10

Subroutine log10 redefined at ./FHEM/14_FHEMduino_Env.pm line 377, <$fh> line 38.



Use of uninitialized value in abs at ./FHEM/14_FHEMduino_Env.pm line 269.
Use of uninitialized value $tmp in abs at ./FHEM/14_FHEMduino_Env.pm line 269.



Hallo Kai,

das mit redefined log10 verstehe ich nicht, irgendwo muss bei Dir wo anders eine sub log10 vorhanden sein. Den anderen Fehler habe ich behoben. Anbei die neue FHEMduino_Env.pm

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Hallo,

für alle die mal hexen wollen anbei eine FHEMduino.hex.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

kaihs

Zitat von: JoWiemann am 24 Juli 2014, 21:41:00
das mit redefined log10 verstehe ich nicht, irgendwo muss bei Dir wo anders eine sub log10 vorhanden sein. Den anderen Fehler habe ich behoben. Anbei die neue FHEMduino_Env.pm

Das log10 kann ich auch erstmal nicht finden, grep log10 im FHEM Verzeichnis liefert nur die 14_FHEMduino_Env.pm. Mal sehen, ob ich die Ursache noch finden kann.

Der andere Fehler ist nur zum Teil gefixed, jetzt kommt

Use of uninitialized value in abs at ./FHEM/14_FHEMduino_Env.pm line 269.
Use of uninitialized value in abs at ./FHEM/14_FHEMduino_Env.pm line 269.


bei jedem empfangenen Paket.

Gruß,

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

JoWiemann

Zitat von: kaihs am 24 Juli 2014, 22:37:55

Use of uninitialized value in abs at ./FHEM/14_FHEMduino_Env.pm line 269.
Use of uninitialized value in abs at ./FHEM/14_FHEMduino_Env.pm line 269.



Mist einen übersehen. Hier die neue .pm

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

kaihs

Ich denke die Ursache der log10 Fehlermeldung habe ich auch gefunden.

log10 ist Bestandteil des Moduls POSIX, und das wird u.a. von SVG eingebunden.

Ich denke wenn du statt deiner log10 Funktion
use POSIX;

verwendest sollte das Problem behoben sein.

Gruß,

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation