Neue Firmware für HM_LC_Sw1PBU_FM mit getrenntem Aktor, Taster + Wechselschalter

Begonnen von jab, 29 Dezember 2013, 22:04:10

Vorheriges Thema - Nächstes Thema

stromer-12

Muss ich für den Switch erst per Kabel flashen um OTA benutzen zu können?
FHEM (SVN) auf RPi1B mit HMser | ESPLink
FHEM (SVN) virtuell mit HMLAN | HMUSB | CUL

Mr. P

Greetz,
   Mr. P

Bennemannc

Hallo,

mit dem Batteriebetriebenen Teil meinte ich ein HM-PB-2-FM. Das ist "Unterputz" und mir den gleichen Aufzätzen wie der Sw1PBU. Dann einen LC-SW1-FM in die Abzweigdose und damit die Lampe schalten.
Alternativ einen Sw1PBU und einen PB-2-FM für die zweite Schaltstelle.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Actronx

Hi,
wollte mich kurz bedanken für die tolle Arbeit!

Hab alles so am laufen wie es soll, geflasht über den Arduino Nano, OTA Updates schon genutzt, CurrentImpulse auf 300 (3000) runter gesetzt, dann läuft es mit zwei Energiesparlampen sicher.

Als Host für FHEM nutze ich einen Arduino Yun, CUL ist ein Selbstbau Arduino Nano+CC1100

Sehr cool ! :)

Besten Gruß
A

kennymc.c

Gibt es eigentlich auch eine Möglichkeit die Firmware für die Dimmer-Varainte HM-LC-Dim1TPBU-FM anzupassen?

jab

Moin kennymc,

das sollte gehen. Vermutlich muss man nur die Ansteuerung der Dimmerhardware bauen. Vermutlich technisch kein großes Problem. Ich gehe davon aus, dass im Gerät der gleiche Controller verbaut ist (solltest man im ersten Schritt verifizieren). Hast du Lust das zu machen?


Gruß,
Jan

kennymc.c

Ne, dazu habe ich wohl zu wenig Ahnung. Hab ich erst vor kurzem in das Thema eingelesen. Wollte nur wissen, ob das generell möglich ist oder ob das schon jemand gemacht hat.
Ist es technisch immer nötig bei einem neuen Gerät den Controller zuerst anzulöten oder würde es theoretisch auch irgendwann einmal möglich sein, ganz normal auch über ein OTA Update die alternative Firmware aufzuspielen?

Tobias

Hi,
ich habe jetzt man den Schalter an meinen "MySmartUSB Light" angeschlossen.
MOSI (MP4) -> MOSI (Pin4)
MISO (MP5) -> MISO (Pin1)

Am Schalter ist doch die erste Reihe von links nach rechts: MP15 / MP5 /MP6
Und die zweite Reihe von links nach rechts: MP3 / MP4 / MP2
....
aber ein
avrdude -c stk500v2 -P /dev/ttyUSB0 -p m644 -v
liefert nix... Der Programmer ist auf 3V eingestellt
tobias@laptop:~$ avrdude -c stk500v2 -P /dev/ttyUSB0 -p m644 -v

avrdude: Version 6.0.1, compiled on Oct 21 2013 at 15:55:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/tobias/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : stk500v2
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: STK500
         Hardware Version: 3
         Firmware Version Master : 2.10
         Topcard         : Unknown
         Vtarget         : 0.0 V
         SCK period      : 17.4 us
         Varef           : 0.0 V
         Oscillator      : Off

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.97s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.97s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.97s

avrdude: Device signature = 0x000000
avrdude: Yikes!  Invalid device signature.
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.


Hab ich etwas übersehen oder muss ich bei dem Programmer etwas beachten?
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

gong

Hallo Tobias,

Zitat
Am Schalter ist doch die erste Reihe von links nach rechts: MP15 / MP5 /MP6
Und die zweite Reihe von links nach rechts: MP3 / MP4 / MP2

Leider nein. Das selbe Problem hat mich (fast) den ganzen letzten Samstag gekostet. Tausche die beiden linken äußeren Kabel oben und unten. Die richtige Reihung ist:

Am Schalter ist die erste Reihe von links nach rechts: MP3 / MP5 / MP6
Und die zweite Reihe von links nach rechts: MP15 / MP4 / MP2

Ist etwas missverständlich aufgedruckt...

Gruß
Sven

holzwurm83

Hallo zusammen,

nachdem mein Adapter und myrave so nett war mir die Firmware zu bauen habe ich mich auch daran gewagt. Nur leider bekomme ich das irgendwie nicht hin. Das Flaschen scheint wohl zu klappen, aber bekomme ihn in Fhem nicht rein und im Event monitor taucht er auch nicht auf! Die LED blink immer wieder so 7 mal hinter einander.

Ich habe einen RPI B+ und bin nach der Anleitung vorgegangen.
https://owncloud.isengard.at/public.php?service=files&t=8992affb68e8c1dcbe532152628ad9a5
Ich habe alle Dateien die ich brauche außer der Firmware aus der Datei verwendet. Die Firmware hänge ich mal an.

Habe das Flaschen jetzt schon mehr als versucht. Hier mal mein letzter versuch.

pi@raspberrypi ~ $ sudo avrdude -p m644 -P gpio -c gpio -U lfuse:w:0xFD:m -U hfuse:w:0xD8:m

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9609
avrdude: reading input file "0xFD"
avrdude: writing lfuse (1 bytes):

Writing | ################################################## | 100% 0.00s

avrdude: 1 bytes of lfuse written
avrdude: verifying lfuse memory against 0xFD:
avrdude: load data lfuse data from input file 0xFD:
avrdude: input file 0xFD contains 1 bytes
avrdude: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of lfuse verified
avrdude: reading input file "0xD8"
avrdude: writing hfuse (1 bytes):

Writing | ################################################## | 100% 0.01s

avrdude: 1 bytes of hfuse written
avrdude: verifying hfuse memory against 0xD8:
avrdude: load data hfuse data from input file 0xD8:
avrdude: input file 0xD8 contains 1 bytes
avrdude: reading on-chip hfuse data:

Reading | ################################################## | 100% 0.00s

avrdude: verifying ...
avrdude: 1 bytes of hfuse verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

pi@raspberrypi ~ $ sudo avrdude -p m644 -P gpio -c gpio -U flash:w:bootloader_HM-LC-Sw1PBU-FM.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9609
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "bootloader_HM-LC-Sw1PBU-FM.hex"
avrdude: input file bootloader_HM-LC-Sw1PBU-FM.hex auto detected as Intel Hex
avrdude: writing flash (61372 bytes):

Writing | ################################################## | 100% 49.09s

avrdude: 61372 bytes of flash written
avrdude: verifying flash memory against bootloader_HM-LC-Sw1PBU-FM.hex:
avrdude: load data flash data from input file bootloader_HM-LC-Sw1PBU-FM.hex:
avrdude: input file bootloader_HM-LC-Sw1PBU-FM.hex auto detected as Intel Hex
avrdude: input file bootloader_HM-LC-Sw1PBU-FM.hex contains 61372 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 35.52s

avrdude: verifying ...
avrdude: 61372 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

pi@raspberrypi ~ $ cd firmware
pi@raspberrypi ~/firmware $ ls
207905.eq3  207905.hex  207914.eq3  207914.hex
pi@raspberrypi ~/firmware $ sudo avrdude -p m644 -P gpio -c gpio -U flash:w:207905.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e9609
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "207905.hex"
avrdude: input file 207905.hex auto detected as Intel Hex
avrdude: writing flash (65536 bytes):

Writing | ################################################## | 100% 32.77s

avrdude: 65536 bytes of flash written
avrdude: verifying flash memory against 207905.hex:
avrdude: load data flash data from input file 207905.hex:
avrdude: input file 207905.hex auto detected as Intel Hex
avrdude: input file 207905.hex contains 65536 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 30.94s

avrdude: verifying ...
avrdude: 65536 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


Irgendwas muss ich da doch übersehen!?
- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN

Tobias

Zitat von: gong am 23 Januar 2015, 22:04:39
Hallo Tobias,

Leider nein. Das selbe Problem hat mich (fast) den ganzen letzten Samstag gekostet. Tausche die beiden linken äußeren Kabel oben und unten. Die richtige Reihung ist:

Am Schalter ist die erste Reihe von links nach rechts: MP3 / MP5 / MP6
Und die zweite Reihe von links nach rechts: MP15 / MP4 / MP2

Ist etwas missverständlich aufgedruckt...

Gruß
Sven

Danke das wars :) Jetzt wird der ATMEGA erkannt.

Nächste Frage, ich möchte gerne die originale HMID und SerialID des Sensors nehmen. Die SerialID steht drauf, die HMID nicht. Jetzt dachte ich, wenn ich den Programmer anschließe bekommt die Schaltung Strom und der Schalter fängt an zu senden -> autocreate in FHEM springt an -> HMID abgeschrieben.
Dummerweise fängt der Sensor/Schalter aber nicht zu senden an.

Wie macht ihr das / bekommt die HMID raus ohne den Schalter vorher mit 220V zu verbinden?? 
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

frank

ZitatDummerweise fängt der Sensor/Schalter aber nicht zu senden an.
in den anlernmodus bringen, dann sendet er die anlernmessage und das device wird angelegt.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Tobias

Zitat von: frank am 24 Januar 2015, 12:41:51
in den anlernmodus bringen, dann sendet er die anlernmessage und das device wird angelegt.
Danke, jetzt weiß ich warum es bei mir nicht klappt. Meim Programmer gibt die 3.3V nur bei Benutzung frei. Im Ruhezustand ist VCC abgeschaltet...
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Hab jetzt dasselbe Problem wie holzwurm83. Weder meine selbst kompilierte Firmware, noch die verlinkte aus dem Wiki funktioniert. Drücke ich den Anlernbutton, blinkt die LED nach dem loslassen des Buttons exakt 1x. Bei FHEM kommt nix an.
Kennt wer das Problem und weiß Rat?
Die Fuses hab ich nicht verstellt, der Bootloader ist der originale
tobias@laptop:~/sketchbook/Asksin_HM_LC_Sw1PBU_FM$ sudo avrdude -c stk500v2 -P /dev/ttyUSB0 -p m644 -v

avrdude: Version 6.0.1, compiled on Oct 21 2013 at 15:55:32
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "/etc/avrdude.conf"
         User configuration file is "/home/tobias/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/ttyUSB0
         Using Programmer              : stk500v2
         AVR Part                      : ATmega644
         Chip Erase delay              : 55000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10   128    0 no       2048    8      0  9000  9000 0xff 0xff
           flash         33     6   256    0 yes     65536  256    256  4500  4500 0xff 0xff
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : STK500V2
         Description     : Atmel STK500 Version 2.x firmware
         Programmer Model: STK500
         Hardware Version: 3
         Firmware Version Master : 2.10
         Topcard         : Unknown
         Vtarget         : 0.0 V
         SCK period      : 17.4 us
         Varef           : 0.0 V
         Oscillator      : Off

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e9609
avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as FD

avrdude: safemode: lfuse reads as FF
avrdude: safemode: hfuse reads as DA
avrdude: safemode: efuse reads as FD
avrdude: safemode: Fuses OK (H:FD, E:DA, L:FF)

avrdude done.  Thank you.

tobias@laptop:~/sketchbook/Asksin_HM_LC_Sw1PBU_FM$


Edit: Auch nach ändern der Fuses (-U lfuse:w:0xFD:m -U hfuse:w:0xD8:m) ändert sich nix
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

holzwurm83

- Fhem auf einem MacMini Server
- CUL; HMLAN; CUNO2 für FS20; HM-Wired RS485 LAN Gateway
- HMW_Sen_SC_12_FM; HMW_LC_Sw2_DR; HMW_LC_Bl1_DR; HMW_IO_12_Sw7; HMW_IO_12_Sw14_DR; HMW_IO_12_FM; HBW_1W_T10
- HM-TC-IT-WM-W-EU; HM-CC-RT-DN