Selbstbau HM_WDS10_TH_O mit Luftdruckmessung

Begonnen von trilu, 23 Februar 2014, 12:23:22

Vorheriges Thema - Nächstes Thema

Dirk

Zitat von: cactus-online am 15 Oktober 2014, 17:20:54
Benötigst Du noch Unterstützung beim Testen ?
Klar. Wird vermutlich aber erst heute abend.
Ich habe die Tage noch am Bootloader mit gefeilt. Siehe hier:
http://forum.fhem.de/index.php/topic,18071.0.html

Der neue Bootloader kann sich auch selber Updaten. Dann kannst du zumindest hierfür auf Windows in Zukunft verzichten.

Gruß
Dirk

bullshit

Zitat von: Dirk am 15 Oktober 2014, 17:23:30
Klar. Wird vermutlich aber erst heute abend.
bis 2 in der früh kann ich dir helfen

lg
bullshit

Dirk

#1172
Hallo,

anbei ist das Hexfile mit dem neuen Bootloader und einer 0.13er Version von der Firmware.
Bitte dann auch den Quellcode vom Bootloader von Github herunter laden:
https://github.com/kc-GitHub/Asksin_OTA_Bootloader

Unter Tools/Flash-Tool-Windows liegt das Flashtool. Der Rest wird nicht benötigt.
Das Flash-Tool kann unter Windows genutzt werden um die Firmware direkt in den Sensor zu "brennen".
Wer unter Windows direkt Programmieren möchte macht dann folgendes:

Zum Prüfen ob die Kommunikation mit dem ISP-Adapter steht:
bin\avrdude -p m328p -c usbasp

Das Ergebnis sollte dann ungefähr so aussehen:
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


Das Flashen starten man dann so:

flash.cmd usbasp WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.hex F1:02 AA:BB:CC ABCDEFGHIJ


usbasp: Das ist der ISP-Programmer den ich aktuell benutze. Hier kann auch ein anderer angegeben werden den AVRDUDE unterstützt.
Bei AA:BB:CC geb ihr eure HM-ID ein, bei "ABCDEFGHIJ" kommt eure Seriennummer hin.

Dann sollte das Programmieren beginnen.

Das sollte dann ungefähr so aussehen:

****************************************
* Set fusebits with bitClock 187,5 KHz *
****************************************

avrdude.exe: set SCK frequency to 187500 Hz
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: erasing chip
avrdude.exe: set SCK frequency to 187500 Hz
avrdude.exe: reading input file "0xE2"
avrdude.exe: writing lfuse (1 bytes):

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

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

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

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

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

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

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

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of hfuse verified
avrdude.exe: reading input file "0x06"
avrdude.exe: writing efuse (1 bytes):

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

avrdude.exe: 1 bytes of efuse written
avrdude.exe: verifying efuse memory against 0x06:
avrdude.exe: load data efuse data from input file 0x06:
avrdude.exe: input file 0x06 contains 1 bytes
avrdude.exe: reading on-chip efuse data:

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

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of efuse verified

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.


*************************************************************************
* Write bootloader, application and set lock bits with bitClock 1,5 MHz *
*************************************************************************

avrdude.exe: set SCK frequency to 1500000 Hz
avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.03s

avrdude.exe: Device signature = 0x1e950f
avrdude.exe: NOTE: FLASH memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
avrdude.exe: erasing chip
avrdude.exe: set SCK frequency to 1500000 Hz
avrdude.exe: reading input file "WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin"
avrdude.exe: writing flash (32768 bytes):

Writing | ################################################## | 100% 6.99s



avrdude.exe: 32768 bytes of flash written
avrdude.exe: verifying flash memory against WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin:
avrdude.exe: load data flash data from input file WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin:
avrdude.exe: input file WetterSensor+AskSinBootloader_HB-UW-Sen-THPL.bin contains 32768 bytes
avrdude.exe: reading on-chip flash data:

Reading | ################################################## | 100% 5.86s



avrdude.exe: verifying ...
avrdude.exe: 32768 bytes of flash verified
avrdude.exe: reading input file "0x3F"
avrdude.exe: writing lock (1 bytes):

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

avrdude.exe: 1 bytes of lock written
avrdude.exe: verifying lock memory against 0x3F:
avrdude.exe: load data lock data from input file 0x3F:
avrdude.exe: input file 0x3F contains 1 bytes
avrdude.exe: reading on-chip lock data:

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

avrdude.exe: verifying ...
avrdude.exe: 1 bytes of lock verified

avrdude.exe: safemode: Fuses OK

avrdude.exe done.  Thank you.




Wer lieber unter Linux mit einem "eigenen" AVRDUDE Flashen möchte der muss trotzdem einmal das obrige Kommando ausführen.
Es kommen dann von AVRDUDE jede Menge Fehlermeldungen, diese können aber ignoriert werden.

Das wichtige: es wird eine Datei angelegt WetterSensor+AskSinBootloader_HB-UW-Sen-THPL.bin.
Diese enthält dann eure oben eingegebenen Adressdaten.
Die Bin-Datei kann dann direkt mit AVRDUDE geflasht werden.


avrdude -cusbasp -patmega328p -B0.5 -Uflash:w:WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin.bin:r -Ulock:w:0x3F:m



Wenn das fertig ist, ist der neue Bootloader und eine ältere Test-Firmware mit der Version 0.11 auf dem Sensor die alle 10 Sekunden sendet.

Weiter im Anhang sind Firmwaredateien der Version 0.13 für den Innen- und Außensensor.
Diese können direkt mit der CCU geflasht werden. Zum flashen mit dem USB-CGF-Adapter oder dem CUL muss man das TGZ auspacken und die eq3-Datei benutzen.


Das Flashen auf der CCU läuft dann so ab:

  • Die Firmwaredatei auf die CCU hochladen.
  • In die Geräteeinstellungen gehen. Hier sollte sich jetzt ein Update-Button befinden
  • Den Bootloader vom Sensor starten: Die Batterie aus dem Sensor nehmen, die Configtaste gedrückt halten und die Batterie wieder einlegen. Dabei die Configtaste gedrückt halten und den Update-Button im UI der CCU anklicken. Dann sollte das Update beginnen. Die LED am Sensor sollte dann Blinken so lange das Update läuft.
  • Wenn das Update nicht startet wird ggf. eine Fehlermeldung angezeigt und eine Servicemeldung "Firmwareupdate steht an" wird in der CCU abgelegt. Jetzt kann man das Update trotzdem noch starten indem man den Bootloader vom Sensor erneut startet. Siehe oben.

Die Firmwaredatei (TGZ) trägt zwar die Nummer 0.14 die CCU zeigt diese Version zwar auch an, Dennoch wird die Version 0.13 auf den Sensor geflasht.
Wenn man den Sensor nach dem Flashen von der CCU abmeldet und wieder anmeldet, wird dann auch korrekterweise die Version 0.13 angezeigt.
Da das Firmwarefile sich aber der CCU gegenüber als 0.14er Version ausgibt, kann man das Flashen so oft wiederholen wie man möchte.



@bullshit und cactus-online @alle anderen Tester
Ich hoffe Ihr kommt mit den Anweisungen so zurecht.

Gruß
Dirk

Dirk

Damit auch die CCU-Only-User das Update des Bootloaders durchführen können, ohne eine neue Adresse zu vergeben: So könnt ihr die Adresse des Sensors auf der CCU so ermitteln:

Per Telnet / SSH auf die CCU gehen:

cat /etc/config/rfd/<seriennummer>.dev

In der ersten Zeile steht dann unter "address" eine 3-Bit Hex-Zahl.
Das ist die Adresse.

Gruß
Dirk

cactus-online

Die Anweisungen scheinen ausführlich zu sein. Ich kämpfe aber gerade noch mit einem Anfängerproblem. Ich muss noch die richtige Verbindung zwischen USBASP und dem Sensor herausfinden. Ich dächte das auch schon gelesen zu haben, habe mir aber nicht gemerkt wo. Wühle mich also gerade  durch 79 Seiten ... .

frank

ZitatWühle mich also gerade  durch 79 Seiten ... .
fang hinten an.   ;)  beitrag 1159 hat ein link.
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

cactus-online

#1176
Ich wusste es doch !

Tausend Dank.

bullshit

#1177
Hallo Zusammen,

nachdem is keinen isp programmer oder gleichen habe wollte ich natürlich den Raspberry Pi zum flashen des bootloaders benutzen.
Mithilfe des Windows flash.cmd und der Anleitung auf http://www.lxccu.com/hb-raspberry-bootloader-update habe ich nun ein perl Skript wie bei der "Wetterstation FIrmware" geschrieben. https://github.com/bullshit/AskSinBootloader_Flash-Tool-RaspberryPi

Von mir aus kannst du Dirk es ja als git module in den AskinBootloader Repository einbinden.

Nun gesagt getan. Der Flash vorgang ging reibungslos.


root@pi:~/Flash-Tool-RaspberryPi# perl flash.pl WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.hex F1:02 XX:XX:XX 123456789A

Test  Bootloader connection

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f

avrdude: safemode: Fuses OK

avrdude done.  Thank you.


Write Bootloader

avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x1e950f
avrdude: erasing chip
avrdude: reading input file "WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin"
avrdude: writing flash (32768 bytes):

Writing | ################################################## | 100% 16.72s

avrdude: 32768 bytes of flash written
avrdude: verifying flash memory against WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin:
avrdude: load data flash data from input file WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin:
avrdude: input file WetterSensor+AskSinBootloader_0-7-0_HB-UW-Sen-THPL.bin contains 32768 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 15.58s

avrdude: verifying ...
avrdude: 32768 bytes of flash verified
avrdude: reading input file "0x2F"
avrdude: writing lock (1 bytes):

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

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

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

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

avrdude: safemode: Fuses OK

avrdude done.  Thank you.



danach hab ich mich auf die serielle console des sensors gehängt und mal nachgesehen was es beim neu einlegen der Batterien sagt.


AskSin OTA Bootloader V0.7.0
Start App
<- 14 00 A2 70 4B 61 4D 26 67 FF 01 0E 00 03 D4 00 00 10 7E 09 D6 (l:21)(2017)
-> 0A 00 80 02 26 67 FF 4B 61 4D 00 (l:11)(2158)


Vorher war der 0.6 Bootloader drauf also hat wirklich alles funktioniert.

Danach auf der lxccu die Firmware aus diesem Forum unter Geräte-Firmware hochgeladen.
Nun auf dem Sensor ist noch immer die Firmware 0.11 und leider taucht nirgends ein Firmware-Upgrade Button auf.
Danach hab ich die xml Files von https://github.com/kc-GitHub/Wettersensor/tree/master/Contrib/CCU/HB-UW-Sen-THPL_CCU-addon-src/firmware/rftypes händisch raufkopiert und die lxccu neu gestartet. Ab dann wird auch wieder der Luftdruck angezeigt. Aber wieder kein update.

Danach hab ich die Batterien entfernt. Die configtaste gedrückt gehalten und die batterien eingesetzt wie im changelog des firmware upgrades beschrieben auch auch hier hat sich nichts getan.


Anbei hab ich noch ein paar Screenshots angehängt.

Wenn ich die Firmware auf die lxccu hochlade erscheint folgendes in dem hmserver.log
Zitat
==> hmserver.log <==
Oct 17 01:54:56 de.eq3.ccu.system.http.service.DeviceFirmwareController INFO  [pool-2-thread-27] /etc/config/firmware/61698 created!
Oct 17 01:54:56 freemarker.cache DEBUG [pool-2-thread-27] "AvailableFirmware.ftl"["en_US",ISO-8859-1,parsed]  using cached since /opt/HMServer/pages/AvailableFirmware.ftl didn't change.

Hab dann natürlich in den Ordner auch mal reingesehen


# cd /etc/config/firmware/61698/
# ls
HB-UW-Sen-THPL_update_V0_14_000_141015.eq3  changelog.txt                               info
# cat info
TypeCode=61698
Name=HB-UW-Sen-THPL-O
CCUFirmwareVersionMin=2.9.0
FirmwareVersion=0.14
# md5sum HB-UW-Sen-THPL_update_V0_14_000_141015.eq3
5b74977551ffac823c717dcb5b973147  HB-UW-Sen-THPL_update_V0_14_000_141015.eq3
# ls -lh HB-UW-Sen-THPL_update_V0_14_000_141015.eq3
-rw-r--r--    1 root     root       56.9K Oct 17 01:54 HB-UW-Sen-THPL_update_V0_14_000_141015.eq3


Besten Dank vorerst. Bin gespannt an was das liegt.

lg
bullshit

Dirk

Hast du eine Servicemeldung dass einen neue Firmware zum Update bereitsteht?

bullshit

Nein. Keine Servicemeldung. Hatte nur zwei Meldungen das die Kommunikation gestört war.

Dirk

Schau mal ob du die richtige Update-Datei auf die CCU geladen hast. Für Innen- und Außensensor gibt es je eine.
Die existierende XML-Datei hattest du auch sicher überschrieben?

Das sind die einzigen 2 Punkte die mir einfallen warum du kein Update-Button siehst.
Bootloaderversion an sich ist zur Anzeige des Buttons erst mal unrelevant.

Auch bein einem Sensor mit Bootloader < 0.7.0 muss der Updatebutton angezeigt werden, wenn die richtigen XML-Dateien und das zur Sensorversion passende Updatefile auf der CCU sind.

Gruß
Dirk

bullshit

Hier der Auszug der xml files. Geflasht hab ich den Aussensensor.

# cd /firmware/rftypes/
# ls
hb_uw_sen_thpl.xml             rf_d.xml                       rf_fs_ba.xml                   rf_rhs_e_v1_7.xml              rf_sec_mdir_v1_5.xml
hb_uw_sen_thpl_le_v0_11.xml    rf_d_le_v1_7.xml               rf_keymatic.xml                rf_rhs_le_v1_6.xml             rf_sec_sco.xml
replaceMap                     rf_d_le_v1_9.xml               rf_ks550.xml                   rf_roto_wdf_solar.xml          rf_sec_sd.xml
rf_4dis.xml                    rf_ddc.xml                     rf_ou_led16_ge_v1_1.xml        rf_s.xml                       rf_sec_sd_schueco.xml
rf_ash550.xml                  rf_dim_1l_644.xml              rf_ou_led16_le_v1_0.xml        rf_s550ia.xml                  rf_sec_sfa.xml
....
....
....


# cat hb_uw_sen_thpl.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<device version="2" rx_modes="CONFIG,WAKEUP,LAZY_CONFIG" cyclic_timeout="600">
  <supported_types>
    <type name="HB-UW-Sen-THPL-I" id="HB-UW-Sen-THPL-I" updatable="true">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="12" />
      <parameter index="10.0" size="2.0" const_value="0xF101" />
    </type>
    <type name="HB-UW-Sen-THPL-O" id="HB-UW-Sen-THPL-O">
      <parameter index="9.0" size="1.0" cond_op="GE" const_value="12" />
      <parameter index="10.0" size="2.0" const_value="0xF102"></parameter>
    </type>
  </supported_types>
  <paramset type="MASTER" id="hb_uw_sen_thpl_dev_master">
    <parameter id="BURST_RX">
      <logical type="boolean" default="false" />
      <physical type="integer" interface="config" list="0" index="1" size="1.0" />
    </parameter>
    <parameter id="DEVICE_LED_MODE">
      <logical type="option">
        <option id="OFF" default="true" />
        <option id="ON" />
      </logical>
      <physical type="integer" interface="config" list="0" index="5.6" size="0.2" />
      <conversion type="integer_integer_map">
        <value_map device_value="0x00" parameter_value="0" />
        <value_map device_value="0x01" parameter_value="1" />
      </conversion>
    </parameter>
    <parameter id="LOW_BAT_LIMIT">
      <logical type="float" min="1.0" max="5" default="2.6" unit="V" />
      <physical type="integer" interface="config" list="0" index="18" size="1" />
      <conversion type="float_integer_scale" factor="10" />
    </parameter>
    <parameter id="TRANSMIT_DEV_TRY_MAX">
      <logical type="integer" min="1.0" max="10" default="6" />
      <physical type="integer" interface="config" list="0" index="20" size="1" />
    </parameter>
    <parameter id="Altitude">
      <logical type="integer" min="-500" max="10000" default="0" unit="m" />
      <physical type="integer" interface="config" list="0" index="36" size="2" />
    </parameter>
  </paramset>
  <channels>
    <channel index="0" type="MAINTENANCE" ui_flags="internal" class="maintenance" count="1">
      <paramset type="MASTER" id="maint_ch_master"></paramset>
      <paramset type="VALUES" id="maint_ch_values">
        <parameter id="UNREACH" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="UNREACH" />
        </parameter>
        <parameter id="STICKY_UNREACH" operations="read,write,event" ui_flags="service,sticky">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="STICKY_UNREACH" />
        </parameter>
        <parameter id="CONFIG_PENDING" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="CONFIG_PENDING" />
        </parameter>
        <parameter id="LOWBAT" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="LOWBAT" />
        </parameter>
        <parameter id="RSSI_DEVICE" operations="read,event">
          <logical type="integer" />
          <physical type="integer" interface="internal" value_id="RSSI_DEVICE" />
        </parameter>
        <parameter id="RSSI_PEER" operations="read,event">
          <logical type="integer" />
          <physical type="integer" interface="internal" value_id="RSSI_PEER" />
        </parameter>
        <parameter id="DEVICE_IN_BOOTLOADER" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="DEVICE_IN_BOOTLOADER" />
        </parameter>
        <parameter id="UPDATE_PENDING" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="UPDATE_PENDING" />
        </parameter>
      </paramset>
    </channel>
    <channel index="1" type="WEATHER" autoregister="true">
      <link_roles>
        <source name="WEATHER_TH" />
      </link_roles>
      <paramset type="MASTER" id="hb_uw_sen_thpl_ch_master"></paramset>
      <paramset type="VALUES" id="hb_uw_sen_thpl_ch_values">
        <parameter id="TEMPERATURE" operations="read,event">
          <logical type="float" min="-40.0" max="80.0" unit="�C" />
          <physical type="integer" interface="command" value_id="TEMPERATURE">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="10.0" />
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="HUMIDITY" operations="read,event">
          <logical type="integer" min="1" max="99" unit="%">
            <special_value id="NO_SENSOR" value="0" />
          </logical>
          <physical type="integer" interface="command" value_id="HUMIDITY">
            <event frame="WEATHER_EVENT" />
          </physical>
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="AIR_PRESSURE" operations="read,event">
          <logical type="float" min="500.0" max="1100.0" unit="hPa">
            <special_value id="NO_SENSOR" value="0.0" />
          </logical>
          <physical type="integer" interface="command" value_id="AIR_PRESSURE">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="10.0" />
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="LUMINOSITY" operations="read,event">
          <logical type="float" min="0" max="65535">
            <special_value id="NO_SENSOR" value="65538" />
          </logical>
          <physical type="integer" interface="command" value_id="LUMINOSITY">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="100.0" />
        </parameter>
        <parameter id="BatteryVoltage" operations="read,event">
          <logical type="float" min="0.4" max="5.5" unit="V" />
          <physical type="integer" interface="command" value_id="BatteryVoltage">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="1000.0" />
        </parameter>
      </paramset>
      <paramset type="LINK" id="hb_uw_sen_thpl_ch_link"></paramset>
    </channel>
  </channels>
  <frames>
    <frame id="WEATHER_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x70">
      <parameter type="integer" signed="true" index="9.0" size="1.7" param="TEMPERATURE" />
      <parameter type="integer" index="11.0" size="1.0" param="HUMIDITY" />
      <parameter type="integer" index="12.0" size="2.0" param="AIR_PRESSURE" />
      <parameter type="integer" index="14.0" size="4.0" param="LUMINOSITY" />
      <parameter type="integer" index="18.0" size="2.0" param="BatteryVoltage" />
    </frame>
  </frames>
  <paramset_defs></paramset_defs>
</device>



# cat hb_uw_sen_thpl_le_v0_11.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<device version="1" rx_modes="CONFIG" cyclic_timeout="600">
  <supported_types>
    <type name="HB-UW-Sen-THPL-I" id="HB-UW-Sen-THPL-I">
      <parameter index="9.0" size="1.0" cond_op="LE" const_value="11" />
      <parameter index="10.0" size="2.0" const_value="0xF101" />
    </type>
    <type name="HB-UW-Sen-THPL-O" id="HB-UW-Sen-THPL-O">
      <parameter index="9.0" size="1.0" cond_op="LE" const_value="11" />
      <parameter index="10.0" size="2.0" const_value="0xF102" />
    </type>
  </supported_types>
  <paramset type="MASTER" id="hb_uw_sen_thpl_dev_master"></paramset>
  <channels>
    <channel index="0" type="MAINTENANCE" ui_flags="internal" class="maintenance" count="1">
      <paramset type="MASTER" id="maint_ch_master"></paramset>
      <paramset type="VALUES" id="maint_ch_values">
        <parameter id="UNREACH" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="UNREACH" />
        </parameter>
        <parameter id="STICKY_UNREACH" operations="read,write,event" ui_flags="service,sticky">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="STICKY_UNREACH" />
        </parameter>
        <parameter id="CONFIG_PENDING" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="CONFIG_PENDING" />
        </parameter>
        <parameter id="LOWBAT" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="LOWBAT" />
        </parameter>
        <parameter id="RSSI_DEVICE" operations="read,event">
          <logical type="integer" />
          <physical type="integer" interface="internal" value_id="RSSI_DEVICE" />
        </parameter>
        <parameter id="RSSI_PEER" operations="read,event">
          <logical type="integer" />
          <physical type="integer" interface="internal" value_id="RSSI_PEER" />
        </parameter>
        <parameter id="DEVICE_IN_BOOTLOADER" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="DEVICE_IN_BOOTLOADER" />
        </parameter>
        <parameter id="UPDATE_PENDING" operations="read,event" ui_flags="service">
          <logical type="boolean" />
          <physical type="integer" interface="internal" value_id="UPDATE_PENDING" />
        </parameter>
      </paramset>
    </channel>
    <channel index="1" type="WEATHER" autoregister="true">
      <link_roles>
        <source name="WEATHER_TH" />
      </link_roles>
      <paramset type="MASTER" id="hb_uw_sen_thpl_ch_master"></paramset>
      <paramset type="VALUES" id="hb_uw_sen_thpl_ch_values">
        <parameter id="TEMPERATURE" operations="read,event">
          <logical type="float" min="-40.0" max="80.0" unit="�C" />
          <physical type="integer" interface="command" value_id="TEMPERATURE">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="10.0" />
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="HUMIDITY" operations="read,event">
          <logical type="integer" min="1" max="99" unit="%">
            <special_value id="NO_SENSOR" value="0" />
          </logical>
          <physical type="integer" interface="command" value_id="HUMIDITY">
            <event frame="WEATHER_EVENT" />
          </physical>
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="AIR_PRESSURE" operations="read,event">
          <logical type="integer" min="500" max="1100" unit="hPa">
            <special_value id="NO_SENSOR" value="0" />
          </logical>
          <physical type="integer" interface="command" value_id="AIR_PRESSURE">
            <event frame="WEATHER_EVENT" />
          </physical>
          <description>
            <field id="AutoConfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="LUMINOSITY" operations="read,event">
          <logical type="float" min="0" max="65535">
            <special_value id="NO_SENSOR" value="65538" />
          </logical>
          <physical type="integer" interface="command" value_id="LUMINOSITY">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="100.0" />
        </parameter>
        <parameter id="BatteryVoltage" operations="read,event">
          <logical type="float" min="0.4" max="5.5" unit="V" />
          <physical type="integer" interface="command" value_id="BatteryVoltage">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="1000.0" />
        </parameter>
      </paramset>
      <paramset type="LINK" id="hb_uw_sen_thpl_ch_link"></paramset>
    </channel>
  </channels>
  <frames>
    <frame id="WEATHER_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x70">
      <parameter type="integer" signed="true" index="9.0" size="1.7" param="TEMPERATURE" />
      <parameter type="integer" index="11.0" size="1.0" param="HUMIDITY" />
      <parameter type="integer" index="12.0" size="2.0" param="AIR_PRESSURE" />
      <parameter type="integer" index="14.0" size="4.0" param="LUMINOSITY" />
      <parameter type="integer" index="18.0" size="2.0" param="BatteryVoltage" />
    </frame>
  </frames>
  <paramset_defs></paramset_defs>
</device>


Ich hab dann die "HB-UW-Sen-THPL_update_V0_14_000_141015-O.tgz" unter Geräte-Firmware hochgeladen und ich hab natürlich das neue Lan-Gateway mit der Firmware 1.1.4

Oct 17 14:51:21 homematic-ccu2 user.info logger: Updating RF Lan Gateway Firmware
Oct 17 14:51:21 homematic-ccu2 user.info update-lgw-firmware: LAN Gateway Firmware Update...
Oct 17 14:51:21 homematic-ccu2 user.info update-lgw-firmware: Gateway KEQ10XXXXX
Oct 17 14:51:23 homematic-ccu2 user.info update-lgw-firmware: Gateway type is eQ3-HM-LGW-App
Oct 17 14:51:23 homematic-ccu2 user.info update-lgw-firmware: Available Firmware Version:   1.1.4
Oct 17 14:51:23 homematic-ccu2 user.info update-lgw-firmware: Lan Gateway Firmware Version: 1.1.4



bullshit

Okey ich hab jetzt die XML Files von Franz schicken lassen und siehe da der Update-Button ist da

cactus-online

Ich habe den neuen Bootloader auf den Innensensor aufgespielt. Das hat geklappt -> allerdings ist er nun ein Außensensor.  (Kann ich das wieder hinbiegen ?)

Ich konnte auch ein Firmwareupdate per CCU durchführen. Prima Leistung Dirk ! Vielen Dank. Der Updatebutton ist auch für den (richtigen) Außensensor vorhanden. Funktioniert aber nicht. Ist (noch) kein neuer Bootloader drauf. Das Verhalten ist korrekt so ?

Dirk

#1184
Ah mist. Ich habe grade gesehen dass ich meine Repository-Struktur geändert habe. Und die Änderungen sind noch nicht im GIT.
Sorry für die Verwirrung. Ich hole das die tage noch nach.
Anbei schon mal die aktuellen XML-Dateien für alle anderen bis das Repo wieder aktuell ist.

Aber gut dass es jetzt geht. Ich hoffe der Updateprozess klappt bei dir jetzt auch.

Zitat von: cactus-online am 17 Oktober 2014, 21:53:14
Ich habe den neuen Bootloader auf den Innensensor aufgespielt. Das hat geklappt -> allerdings ist er nun ein Außensensor.  (Kann ich das wieder hinbiegen ?)
Ja. Type F1:01 ist der Innensensor, F1:02 ist der Außensensor.
Du musst also noch mal Flashen.

ZitatFunktioniert aber nicht. Ist (noch) kein neuer Bootloader drauf. Das Verhalten ist korrekt so ?
Das hab ich grade nicht verstanden. Was funktioniert nicht?

Gruß
Dirk