FHEMduino

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

Vorheriges Thema - Nächstes Thema

thoffma3

Zitat von: thoffma3 am 24 Mai 2015, 10:37:29
Ok. Der super Receiver ist bestellt.  Mehr dann in 6 Wochen wenn die Teile da sind.  Ich glaube es ist kein Fehler einen cul/jeelink/fhemduino..... Zuviel zu haben. Die Sachen sind ja nicht wirklich teuer. Das Geld gibt man ja ehr bei den Sensoren, Steckdosen... aus.

Danke euch

Hi,
die Teile sind endlich da. Fhemduino habe ich hoffentlich richtig zusammengebaut. Toll das das flashen über das Fhemduino Modul funktioniert. Ich beweifle aber, dass ich eine aktuelle Version der hex Datei gefunden habe. Diese Version meldet mir der Fhemduino zurück:
V 2.2 FHEMduino - compiled at Jul 24 214 13:51:03
Zu alt oder? Wo finde ich denn eine aktuelle Version?

Danke

thoffma3

Zitat von: thoffma3 am 26 Juni 2015, 11:53:26
Hi,
die Teile sind endlich da. Fhemduino habe ich hoffentlich richtig zusammengebaut. Toll das das flashen über das Fhemduino Modul funktioniert. Ich beweifle aber, dass ich eine aktuelle Version der hex Datei gefunden habe. Diese Version meldet mir der Fhemduino zurück:
V 2.2 FHEMduino - compiled at Jul 24 214 13:51:03
Zu alt oder? Wo finde ich denn eine aktuelle Version?

Danke

auf jeden fall empfange ich schon mal was.  Das könnte mein Intertechno Funk Dämmerungsschalter sein oder auch die Mumbi Billigsteckdosen

Yippieh
2015.06.26 12:01:35 2: fhemduino: unknown message W01 message length (3)
2015.06.26 12:02:46 3: Message: IR5308692 Basedur:
2015.06.26 12:02:46 3: Parse: Device: 26_5 Code: FF0F000F0F Basedur:  Action: off
2015.06.26 12:02:46 3: Message: IR5308692 Basedur:
2015.06.26 12:02:46 3: Parse: Device: 26_5 Code: FF0F000F0F Basedur:  Action: off


Autocreate hat mir außerdem 4 Geräten angelegt: Schalten lassen sich die nicht aber immerhin
FHEMduino_PT2262_26_13
FHEMduino_PT2262_26_5
FHEMduino_PT2262_26_9
FHEMduino_PT2262_26_E



viegener

Die Quelldateien für den Arduino finden sich hier:

https://github.com/mdorenkamp/fhemduino

Die Hex-Datei in dem Repository ist aber wohl nicht aktuell.
Im Prinzip ist das Programmieren sowohl von einem Windows als auch Linux Rechner relativ problemlos, man kann dann auch auswählen welche Protokolle gewünscht sind / benötigt werden. Nicht alle Protokolle sind untereinander vermutlich beliebig mischbar. Wenn es SChwierigkeiten gibt, kann ich aber auch eine aktuelle HEX-Datei erzeugen für einen Nano.

Wichtig sind aber auch noch die zugehörigen Perl-Module, deren aktuelle Version findet sich hier:

https://github.com/mdorenkamp/fhemduino_modules

Gruss,
Johannes
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

thoffma3

#1413
Danke für die schnelle Antwort. Habs hinbekommen und weil ich das so schwer fand habe ich das für den nächsten Planlosen mal zusammengeschrieben. Wenn das ok ist, schreibe ich das nochmal schöner und ergänze es im Wiki.

Für Dummys:

Folgende Geräte bestellen (auf ebay leicht zu finden):
Arduino:
Nano FT232RL V3.0 ATmega328P 5V 16M USB Micro-controller Board für Arduino ca. 7€

Empfänger + minderwertiger Receiver
1 Stück 433 Mhz RF Sender und Empfänger für Arduino Projekte ca. 2€

Receiver:
Super-heterodyne OOK Wireless Receiver Module Strong Interference 433MHZ-116dBm auf ebay ca. 3 US$

Antenne: als antenne brauchst du nen ca 17 cm langen Draht  den du anlöten musst. Ich hab ne alte wlan antenne dran allerdings nen anderen Empfänger  (aus ner wetterstation)

Zusammmenstecken/Löten nach Schaltplan in Wiki

Wichtig sind aber auch noch die zugehörigen Perl-Module, deren aktuelle Version findet sich hier:
https://github.com/mdorenkamp/fhemduino_modules
Diese werden in das FHEM Verzeichnis kopiert in dem auch alle anderen pm Dateien liegen. z.B. /opt/fhem/FHEM

Dann in Fhem konfigurieren. Z.B.
#Fhemduino
define fhemduino FHEMduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A103U290-if00-port0@9600
attr fhemduino flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]
attr fhemduino group CUL
attr fhemduino room System

Die eindeutige Bezeichnung des Fhemduino (in meinem Fall usb-FTDI_FT232R_USB_UART_A103U290-if00-port0)  bekommt man raus wenn man nach /dev/serial/by-id/ geht und schaut was dort angelegt wird wenn der Arduino im USB Port steckt


Falls avrdude noch nicht vorhanden ist mal das hier probieren oder googlen:
sudo apt-get install avrdude

Fhemduino Sourcen laden
https://github.com/mdorenkamp/fhemduino

Arduino IDE unter Windows installieren:
https://www.arduino.cc/en/Main/Software

Im Fhemduino GIT sind die nächsten Schritte beschrieben:
How to compile with Arduino IDE unter Microsoft Windows:

    Sync the repository from github or download the complete archive as a zip archive.
    Extract or copy all files from src and lib the files to a directory called fhemduino
    rename sketch.ino into fhemduino.ino. The name of the sketch must be the same as the directory where it resides.
    Look at the sketch.h file, to enable or disable features of the fhemduino.
    Open fhemduino.ino in the IDE and just compile it.

Jetzt wurde eine hex Datei erzeugt (liegt im gleichen Ordner wie die Sourcen).In meinem Fall diese Datei: fhemduino.cpp.standard.hex
Diese umbenennen nach fhemduino.hex auf den FHEM kopieren (z.B. per WinSCP nach /opt/fhem/fhemduino/hexfiles)

Im Fhem sollte ja mittlerweile ein Gerät mit Namen "fhemduino" aufgetaucht sein. Status ist "open". Das Gerät hat einen Befehl flash der dann
etwa so aufgerufen wird: fhemduino flash opt/fhem/fhemduino/hexfiles/fhemduino.hex (je nachdem wo das hex file abgelegt wurde).

Danach wird ein Log angezeigt. Wenn alles gut geht und man wählt nochmal den Fhemduino aus steht dort nicht mehr open sondern initialized.


die funktion get fhemduino version sollte jetzt etwas zurückgeben. In meinem Fall version => V 2.3v FHEMduino - compiled at Jun 26 2015 14:45:06





Sidey

Zitat von: thoffma3 am 26 Juni 2015, 15:16:03
Danke für die schnelle Antwort. Habs hinbekommen und weil ich das so schwer fand habe ich das für den nächsten Planlosen mal zusammengeschrieben. Wenn das ok ist, schreibe ich das nochmal schöner und ergänze es im Wiki.

Für Dummys:

Folgende Geräte bestellen (auf ebay leicht zu finden):
Arduino:
Nano FT232RL V3.0 ATmega328P 5V 16M USB Micro-controller Board für Arduino ca. 7€

Empfänger + minderwertiger Receiver
1 Stück 433 Mhz RF Sender und Empfänger für Arduino Projekte ca. 2€

Receiver:
Super-heterodyne OOK Wireless Receiver Module Strong Interference 433MHZ-116dBm auf ebay ca. 3 US$

Antenne: noch zu ergänzen


Zusammmenstecken nach Schaltplan in Wiki

Wichtig sind aber auch noch die zugehörigen Perl-Module, deren aktuelle Version findet sich hier:
https://github.com/mdorenkamp/fhemduino_modules
Diese werden in das FHEM Verzeichnis kopiert in dem auch alle anderen pm Dateien liegen. z.B. /opt/fhem/FHEM

Dann in Fhem konfigurieren. Z.B.
#Fhemduino
define fhemduino FHEMduino /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A103U290-if00-port0@9600
attr fhemduino flashCommand avrdude -c arduino -b 57600 -P [PORT] -p atmega328p -vv -U flash:w:[HEXFILE] 2>[LOGFILE]
attr fhemduino group CUL
attr fhemduino room System

Die eindeutige Bezeichnung des Fhemduino (in meinem Fall usb-FTDI_FT232R_USB_UART_A103U290-if00-port0)  bekommt man raus wenn man nach /dev/serial/by-id/ geht und schaut was dort angelegt wird wenn der Arduino im USB Port steckt


Falls avrdude noch nicht vorhanden ist mal das hier probieren oder googlen:
sudo apt-get install avrdude

Fhemduino Sourcen laden
https://github.com/mdorenkamp/fhemduino

Arduino IDE unter Windows installieren:
https://www.arduino.cc/en/Main/Software

Im Fhemduino GIT sind die nächsten Schritte beschrieben:
How to compile with Arduino IDE unter Microsoft Windows:

    Sync the repository from github or download the complete archive as a zip archive.
    Extract or copy all files from src and lib the files to a directory called fhemduino
    rename sketch.ino into fhemduino.ino. The name of the sketch must be the same as the directory where it resides.
    Look at the sketch.h file, to enable or disable features of the fhemduino.
    Open fhemduino.ino in the IDE and just compile it.

Jetzt wurde eine hex Datei erzeugt (liegt im gleichen Ordner wie die Sourcen).In meinem Fall diese Datei: fhemduino.cpp.standard.hex
Diese umbenennen nach fhemduino.hex auf den FHEM kopieren (z.B. per WinSCP nach /opt/fhem/fhemduino/hexfiles)

Im Fhem sollte ja mittlerweile ein Gerät mit Namen "fhemduino" aufgetaucht sein. Status ist "open". Das Gerät hat einen Befehl flash der dann
etwa so aufgerufen wird: fhemduino flash opt/fhem/fhemduino/hexfiles/fhemduino.hex (je nachdem wo das hex file abgelegt wurde).

Danach wird ein Log angezeigt. Wenn alles gut geht und man wählt nochmal den Fhemduino aus steht dort nicht mehr open sondern initialized.


die funktion get fhemduino version sollte jetzt etwas zurückgeben. In meinem Fall version => V 2.3v FHEMduino - compiled at Jun 26 2015 14:45:06
Hallo,

du hast dich ja jetzt schon durch gekämpft,

vielleicht willst Du aber doch mal den Signalduino probieren. Je nach dem, was Du alles steuern willst eine Alternative für dich und ich suche auch noch tester. :)

Sollte zumindest viel einfacher sein, den zu installieren:

http://forum.fhem.de/index.php/topic,38402.0.html



Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

thoffma3

gerne. Signalduino teste ich auf jeden Fall. Aber ich möchte erst mal sicher sein, dass mein Fhemduino richtig funktioniert. Empfangen kann ich auf jeden Fall, aber da das schalten meiner Steckdose nich funktioniert, würde ich gerne mal testen ob mein Sender überhaupt geht. Wie kann man das testen?

viegener

Zitat von: thoffma3 am 26 Juni 2015, 16:18:12
würde ich gerne mal testen ob mein Sender überhaupt geht. Wie kann man das testen?

Meine Methode war ein zweiter Empfänger mit einem zweiten fhemduino oder zumindest der Empfänger an einem zweiten Arduino Nano. Diesen habe ich dann an einem Rechner angeschlossen, denn darüber lässt sich (per serial terminal) sehen, was vom anderen Nano gesendet wird.

Johannes
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Sidey

Hi,

Vom Prinzip kann man schon mit einem Arduino testen, ob ein Sender und Empfänger funktioniert.

Mit Fhemduino geht es allerdings nicht, da vor dem Senden der Empfänger deaktiviert wird.
Du könntest den Code für deine Zweck anpassen, aber so ganz verlässlich ist das ganze dann auch nicht.

Viel einfacher ist es mit einem 2. Arduino und dann irgend eine einfach send und receive sketch.
Z.B diesen hier: http://arduinobasics.blogspot.de/2014/06/433-mhz-rf-module-with-arduino-tutorial.html

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

dantist

#1418
Hallo zusammen,

ich ziehe grade von pimatic zu FHEM um und habe entsprechend bereits einen Arduino Nano mit Funksender und -empfänger im Einsatz. Leider bekomme ich ihn mit FHEMduino nicht zum Laufen. Die Steckdosen sind vom Typ Elro AB440.

Folgendes habe ich bisher gemacht:
- Arduino nach Schaltplan verkabelt (im Prinzip nur den Sender von D4 auf D11 umgesteckt, Rest war bereits wie bei pimatic)
define Arduino FHEMduino /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@9600
define Steckdose IT 000000FFFF FF F0

Leider passiert beim Ein- oder Ausschalten der Steckdose nichts. Das FHEMduino-Device wird wie im Screenshot zu sehen angezeigt. Ist hier eventuell schon ein Problem zu sehen? Oder habe ich einen Schritt vergessen? Bei pimatic musste z.B. erst einmal das passende Programm auf den Arduino geflasht werden.

thoffma3

Zitat von: dantist am 28 Juni 2015, 14:40:06
Hallo zusammen,

ich ziehe grade von pimatic zu FHEM um und habe entsprechend bereits einen Arduino Nano mit Funksender und -empfänger im Einsatz. Leider bekomme ich ihn mit FHEMduino nicht zum Laufen. Die Steckdosen sind vom Typ Elro AB440.

Folgendes habe ich bisher gemacht:
- Arduino nach Schaltplan verkabelt (im Prinzip nur den Sender von D4 auf D11 umgesteckt, Rest war bereits wie bei pimatic)
define Arduino FHEMduino /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@9600
define Steckdose IT 000000FFFF FF F0

Leider passiert beim Ein- oder Ausschalten der Steckdose nichts. Das FHEMduino-Device wird wie im Screenshot zu sehen angezeigt. Ist hier eventuell schon ein Problem zu sehen? Oder habe ich einen Schritt vergessen? Bei pimatic musste z.B. erst einmal das passende Programm auf den Arduino geflasht werden.

Hallo Dantist,

glaube da fehlt noch was. Der Status von deinem Fhemduino ist auf Opened. Da sollte aber inititalized stehen.


Hat du das gemacht?:

-Im Fhem sollte ja mittlerweile ein Gerät mit Namen "fhemduino" aufgetaucht sein. Status ist "open". Das Gerät hat einen Befehl flash der dann
etwa so aufgerufen wird: fhemduino flash opt/fhem/fhemduino/hexfiles/fhemduino.hex (je nachdem wo das hex file abgelegt wurde).

-Danach wird ein Log angezeigt. Wenn alles gut geht und man wählt nochmal den Fhemduino aus steht dort nicht mehr open sondern initialized.

-die funktion get fhemduino version sollte jetzt etwas zurückgeben. In meinem Fall version => V 2.3v FHEMduino - compiled at Jun 26 2015 14:45:06

dantist

Dann hatte ich ja richtig vermutet, dass da noch was geflasht werden muss  :) Das Einbinden habe ich nach dieser Anleitung gemacht, da steht aber nichts von einem hex file. Auch Google hilft nicht weiter. Weißt du, wo ich diese Datei finden kann?

thoffma3

#1421
schau mal ein paar Einträge weiter oben. Ich habe eine kleine Anleitung geschrieben. Ich würde diese auch im Wiki ergänzen wenn man damit gut zurechtkommt

dantist

Zitat von: thoffma3 am 28 Juni 2015, 19:14:50
schau mal ein paar Einträge weiter oben. Ich habe eine kleine Anleitung geschrieben. Ich würde diese auch im Wiki ergänzen wenn man damit gut zurechtkommt
Klasse, das hat tatsächlich funktioniert. Vielen Dank! Habe grade erfolgreich die erste Steckdose geschaltet  8) Ganz schöner Krampf das alles.

Anbei die kompilierte Datei, spart dem einen oder anderen vielleicht ein paar Schritte.

thoffma3

glückwunsch. dann bist du jetzt weiter als ich.


@Sidey: habe Signalduino geflasht und das Modul ist tatsächlich sehr gesprächig. Wie interpretiere ich denn jetzt die vielen Log Einträge :-)

Sidey



Hi,

also es gibt bekannte Nachrichten die durch einen Filter gelaufen sind:
Die fangen an mit M0, M1 ...
Intertechno Steckdosen sollten so erkannt und dann an das passende Modul gesendet werden. Habe natürlich nur mit meinen Baumarkt Steckdosen testen können.
Nachrichten die mit MU beginnen, haben keinen Sync Puls, bzw. der Arduino hat ihn nicht erkannt.
Nachrichten die mit MC beginnen, sind Manchester codiert und werden anschließend als HEX übergeben.

Je nachdem, was empfangen wurde, wird dann versucht das Empfangene Signal in ein passendes Format für ein anderes Modul zu transferieren.
Das habe ich aber bislang nur für IT und TCM_97001 implementiert. Bin zwar dran da noch mehr zu machen, aber ohne passende Daten ist das leider schwer.

Am besten mal das Log oder einen Teil daraus als Anhang im richtigen Thread oder bei Github oder sonst wo laden.
Posten ist meist keine gute Idee, das die Logs ja etwas länger werden können.

Wenn Du dann noch weisst, welche Geräte senden könnte man sich ans decodieren bzw. weitergeben machen.


Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem,zigbee2mqtt

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker