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

Mr. P

Zitat von: holzwurm83 am 31 Januar 2015, 14:09:46
Ich hab die Datei "flash-ota" in dem gleichen Ordner abgelegt, oder muss ich dies zwingend selbst kompilieren?
Wenn du das File im selben Ordner ausführen willst, indem du gerade bist, musst du es folgendermaßen ausführen:
./flash-ota
Greetz,
   Mr. P

holzwurm83

Das führt leider zum gleichen Ergebnis!?

pi@raspberrypi ~ $ ls
207905.eq3                      firmware
207914.eq3                      firmware_HM-LC-Sw1PBU-FM.hex
avrdude_5.10-4_armhf.deb        flash-ota
avrdude.conf                    libcec
bl                              Network Trash Folder
bootloader_HM-LC-Sw1PBU-FM.hex  ocr_pi.png
Desktop                         python_games
DMAP.pm                         Temporary Items
fhem-5.5.deb
pi@raspberrypi ~ $ sudo ./flash-ota -f 207914.eq3 -s KEQ0198585 -c /dev/ttyACM0
sudo: ./flash-ota: command not found
pi@raspberrypi ~ $
- 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

HoTi

Sorry, aber kann mir das jemand auf deutsch erklären.
Wo finde ich diese payload datei? Ich habe mit dem Arduino alles angepasst und Kompeliert und dann??

Zitat
Convert payload and flash:

You need to convert your elf file to binary first (For arduino GUI you can find this in /tmp/buildXXXXX/)
If CRC Check is disabled, simply use the avr-objcopy tool
avr-objcopy -j .text -j .data -O binary payload.elf payload.bin
If CRC Check is enabled, you need to generate a CRC checksum to your binary to make it acceptable for the bootloader
The intention of the CRC check is to prevent unfinished transfers to start and force you to do a hard reset to re-enter the bootloader
This CRC Checksum has to be added with the tool srec_cat (from srecord: http://srecord.sourceforge.net/download.html)
In this case, do not use avr-objcopy, simply run srec_cat as follows (use the .hex file as input, not the .elf file)

For 32k devices with 4k bootloader space like (Atmega328p):

srec_cat <payload.hex> -intel -fill 0xFF 0x0000 0x6FFE -Cyclic_Redundancy_Check_16_Little_Endian 0x6FFE -o  payload.bin -binary
For 64k devices with 4k bootloader space like (Atmega644):
srec_cat <payload.hex> -intel -fill 0xFF 0x0000 0xEFFE -Cyclic_Redundancy_Check_16_Little_Endian 0xEFFE -o  payload.bin -binary
For 64k devices with 8k bootloader space like (Atmega644):
srec_cat <payload.hex> -intel -fill 0xFF 0x0000 0xDFFE -Cyclic_Redundancy_Check_16_Little_Endian 0xDFFE -o  payload.bin -binary
in both cases you end up with the binary, which has to go through the converter to get the EQ3 format
Use the converter (need php-cli):
./bin2eq3.php payload.bin payload.eq3 # convert to eq3 hex format

Dependent on the flash page size of the desired AVR, a different page size can pass as third parameter in bytes. The default pages size is 256 bytes.
E.g. the Atmega328 needs a page size of 128 bytes.

tar -czf payload.tar.gz payload.eq3 # create .tar.gz for homematic windows tool
Open serial with 57600 baud to see debug output
Flash payload with flash-ota (from hmland https://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb):
As SERIAL_NUMBER, set your desired number in the header of bootloader.c. Defaults to KEQ0000001
You should set a different number for each device to prevent bootloader conflicts when more than 1 device is switched on at the same time
sudo ./flash-ota -f payload.eq3 -s <SERIAL_NUMBER>
Reboot device to enter bootloader
Wait for flash-ota to do its job

Viele Grüße aus  Oberbayern
Tim (RettungsTim)

Mr. P

Zitat von: holzwurm83 am 31 Januar 2015, 18:13:00
Das führt leider zum gleichen Ergebnis!?


pi@raspberrypi ~ $ sudo ./flash-ota -f 207914.eq3 -s KEQ0198585 -c /dev/ttyACM0
sudo: ./flash-ota: command not found
pi@raspberrypi ~ $

Hat die Datei vielleicht die falschen Berechtigungen?
Probier mal in dem Verzeichnis:
chmod 755 flash-ota
Und dann nochmal ausführen.
Greetz,
   Mr. P

holzwurm83

Zitat von: Mr. P am 01 Februar 2015, 03:02:41
Hat die Datei vielleicht die falschen Berechtigungen?
Probier mal in dem Verzeichnis:
chmod 755 flash-ota
Und dann nochmal ausführen.

Das war in der tat das Problem!
pi@raspberrypi ~ $ chmod 755 flash-ota
pi@raspberrypi ~ $ sudo ./flash-ota -f 207914.eq3 -s KEQ0198585 -c /dev/ttyACM0
HomeMatic OTA flasher version 0.097-git

Reading firmware from 207914.eq3...
Firmware with 240 blocks successfully read.
Opening culfw-device at path /dev/ttyACM0 with speed 38400
Requesting firmware-version
culfw-device firmware version: 1.58
Entering 10k-mode
Waiting for device with serial KEQ0198585


Jetzt ist es nur so da er auf das Device wartet. Ich hab den Schalter auch schon bei gedrückter config Taste stromlos gemacht und wieder eingesteckt.

Mach ich da noch was falsch?
- 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

soweit ich weiß, Schalter per fehm ein "set <device> reset", danach innerhalb von 10sek die ConfigTaste für ???-sek drücken
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

netzversorgung vom schalter ausschalten, config taster drücken und halten, spannung einschalten und weiterhin gedrückt halten bis erstes blinken erscheint.
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

@frank... allerdings dumm wenn der Sicherungskasten nicht gerade direkt neben dem betreffenden Schalter ist ... ;)
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

Zitat von: Tobias am 01 Februar 2015, 12:56:45
soweit ich weiß, Schalter per fehm ein "set <device> reset", danach innerhalb von 10sek die ConfigTaste für ???-sek drücken

Das geht leider nicht fhem zeigt, dass ich die device erst mal anlegen muss. So kann er den Befehl doch gar nicht bekommen?


Zitat von: frank am 01 Februar 2015, 15:27:20
netzversorgung vom schalter ausschalten, config taster drücken und halten, spannung einschalten und weiterhin gedrückt halten bis erstes blinken erscheint.

Das habe ich auch probiert. Die LED blinkt beim Strom einstecken und halten der Configtaste sofort, aber tut sich weiter nichts!?
- 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

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

Hallo zusammen,

irgendwie komme ich mit dem mit dem Teil nicht weiter. Kann ich den Schalter irgendwie komplett zurücksetzten, so dass ich noch mal von vorne anfangen kann?
- 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: Tobias am 01 Februar 2015, 16:07:24
weiß jemand was der Wert "current" für eine Einheit hat?

Ich habe einen Wert von ca. 650 bei einer 8W Energiesparlampe und 230V. Macht einen Strom von 0,0348A.
Wie passt das zu einem Wert von 650?
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

Carsten

Das ist wahrscheinlich meine dümmste Frage in diesem Forum bisher ( und ich hab schon sehr dumme Fragen gestellt ), aber was braucht man für einen Schraubendreher, um die Platine aus dem Gehäuse zu kriegen? Ich dachte eigentlich, ich wäre zumindest mit Bits und Inbusschlüsseln einigermaßen gut sortiert, aber nichts passt. Ich kann trotz Kontaktlinsen nichtmal erkennen, ob das Torx oder Inbus oder was ganz anderes ist. Ist mir sehr peinlich, aber ich scheitere gerade daran...  :-[

kennymc.c

Die Platine kann man einfach aus dem Gehäuse ziehen. Steckt von unten an einem 6 Pin Jumper.

EDIT: Sorry, auch eine dumme Antwort von mir. Du meinst natürlich die untere Platine. Bin auch gerade dabei die abzubekommen.

Carsten

Oh Gott, wie peinlich.

Habs hinbekommen. Torx T9 aus meinem Fahrradwerkzeug ( gibts solche Schrauben am Fahrrad ).
Muss wohl mal nen Satz kleine Torx-Schraubendreher bestellen.