HB-UNI-Sensor1 - Neuauflage

Entwicklung und Bau von Hardware aller Art, die im HM-Umfeld eingesetzt werden kann

Moderator: Co-Administratoren

ivo-int
Beiträge: 301
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von ivo-int » 12.07.2020, 08:14

Hallo magnum1795

Schau dir einmal die Doku mit dem Link von Tom an. Da müssen wir noch einiges an Zeit investieren.
TomMajor hat geschrieben:
11.07.2020, 13:37
Übrigens habe ich hier einiges an Know-How und Fallstricken für AddOn-Entwicklung dokumentiert:
https://github.com/TomMajor/SmartHome/t ... duced/Docs
Danke :D Tom, da hast du einiges geschrieben. Das habe ich bereits vermutet das es nicht nur kopie paste ist. Dann weis ich mit welchen Arbeiten ich mich in den nächsten Wochen beschäftige. 8)

Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

magnum1795
Beiträge: 267
Registriert: 13.05.2020, 17:56
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 23 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von magnum1795 » 12.07.2020, 10:11

doppelt (kann gelöscht werden) :lol:
Zuletzt geändert von magnum1795 am 12.07.2020, 11:16, insgesamt 1-mal geändert.

magnum1795
Beiträge: 267
Registriert: 13.05.2020, 17:56
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 23 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von magnum1795 » 12.07.2020, 10:13

Guten Morgen.
habe nun mal versucht wie Tom geschrieben hat.
TomMajor hat geschrieben:
12.07.2020, 00:13
Leg einen neuen hb-uni-sensor1_fw0x01.xml an, mache dort den ...const_value="0x01" Eintrag und im Arduino sketch natürlich auch die Firmware 01 setzen.
dann diese xml unter /customized_firmware ablegen und RM neustarten. Vielleicht geht es so auf Anhieb, vlt. nicht.
Neue xml für RM zu entwickeln ist viel Trial and Error nach meinen Erfahrungen.
Also neue hb-uni-sensor1_fw0x01.xml angelegt und hier den kompletten Inhalt von der "alten" hb-uni-sensor1.xml reinkopiert. Nun noch diesesn Eintrag (und nur diesen, nichts anderes verändert) <parameter index="9.0" size="1.0" cond_op="E" const_value="0x13" /> in
<parameter index="9.0" size="1.0" cond_op="E" const_value="0x01" />

abgeändert und abgespeichert mit den neuen Namen hb-uni-sensor1_fw0x01.xml. Jetzt noch RM neugestartet. In der Zeit den Sensor neu geflasht. im Sketch habe ich nur aus der 0x13 eine 0x01 gemacht. Mehr nicht.
....
const struct DeviceInfo PROGMEM devinfo = {
cDEVICE_ID, // Device ID
cDEVICE_SERIAL, // Device Serial
{ 0xF1, 0x03 }, // Device Model
// Firmware Version
// die CCU Addon xml Datei ist mit der Zeile <parameter index="9.0" size="1.0" cond_op="E" const_value="0x13" />
// fest an diese Firmware Version gebunden! cond_op: E Equal, GE Greater or Equal
// bei Änderungen von Payload, message layout, Datenpunkt-Typen usw. muss die Version an beiden Stellen hochgezogen werden!
0x01,
as::DeviceType::THSensor, // Device Type
{ 0x01, 0x01 } // Info Bytes
.....

Sollte doch erstmal soweit Richtig sein, oder?
IM RM habe ich alle HB-Uni-Sensoren abgelernt bzw.rausgelöscht und neu gestartet. Jetzt wieder versucht den Sensor neu anzulernen. Klappt aber irgendwie nicht, läßt sich einfach nicht mehr anlernen.

Also alles wieder Rückgängig gemacht und alten IST Zustand wieder hergestellt. Sensor ließ sich nun wieder problemlos anlernen.

Nun habe ich mal versucht den Vorschlag von jp112sdl umzusetzen.
In der .xml habe ich dazu einen weiteren Channel hinzugefügt

Code: Alles auswählen

<?xml version="1.0" encoding="iso-8859-1"?>
<device version="2" rx_modes="CONFIG,WAKEUP,LAZY_CONFIG" cyclic_timeout="45000">
  <supported_types>
    <type name="HB-UNI-Sensor1" id="HB-UNI-Sensor1" updatable="true">
      <parameter index="9.0" size="1.0" cond_op="E" const_value="0x13" />
      <parameter index="10.0" size="2.0" const_value="0xF103" />
    </type>
  </supported_types>
  <paramset type="MASTER" id="hm_uni_sen_dev_master">
    <parameter id="DEVICE_LED_MODE">
      <logical type="option">
        <option id="OFF" />
        <option id="ON" default="true" />
      </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="0.9" max="5.0" default="2.2" 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" max="10" default="6" />
      <physical type="integer" interface="config" list="0" index="20" size="1" />
    </parameter>
    <parameter id="Sendeintervall">
      <logical type="integer" min="60" max="43200" default="600" unit="s" />
      <physical type="integer" interface="config" list="0" index="32" size="2" />
    </parameter>
    <parameter id="Hoehe ueber NN">
      <logical type="integer" min="0" max="10000" default="0" unit="m" />
      <physical type="integer" interface="config" list="0" index="34" 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 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-UNI-Sensor1_master" />
      <paramset type="VALUES" id="HB-UNI-Sensor1_values">
        <parameter id="TEMPERATURE" operations="read,event">
          <logical type="float" min="-50.0" max="120.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="AIR_PRESSURE" operations="read,event">
          <logical type="float" min="500.0" max="1100.0" unit="hPa" />
          <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="HUMIDITY" operations="read,event">
          <logical type="integer" min="0" max="100" unit="%" />
          <physical type="integer" interface="command" value_id="HUMIDITY">
            <event frame="WEATHER_EVENT" />
          </physical>
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="LUX" operations="read,event">
          <logical type="float" min="0.00" max="200000.00" unit="Lux" />
          <physical type="integer" interface="command" value_id="LUX" no_init="true">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="100.0" />
        </parameter>
        <parameter id="Wassertemperatur" operations="read,event">
          <logical type="float" min="-50.0" max="120.0" unit="°C" />
          <physical type="integer" interface="command" value_id="Wassertemperatur" no_init="true">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="10.0" />
          <description>
            <field id="AutoconfRoles" value="WEATHER" />
          </description>
        </parameter>
        <parameter id="OPERATING_VOLTAGE" operations="read,event">
          <logical type="float" min="0.5" max="5.5" unit="V" />
          <physical type="integer" interface="command" value_id="OPERATING_VOLTAGE">
            <event frame="WEATHER_EVENT" />
          </physical>
          <conversion type="float_integer_scale" factor="1000.0" />
        </parameter>
      </paramset>  
      <paramset type="LINK" id="HB-UNI-Sensor1_link"></paramset>
    </channel>
	<channel index="2" type="WEATHER" count="1">
	 <paramset type="MASTER" id="HB-UNI-Sensor1_master" />
     <paramset type="VALUES" id="HB-UNI-Sensor1_values">
        <parameter id="TEMPERATURE" operations="read,event">
          <logical type="float" min="-50.0" max="120.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>
    </channel> 
  </channels>
  <frames>
    <frame id="WEATHER_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x70">
      <parameter type="integer" signed="true"  index="9"  size="1.7" param="TEMPERATURE" />
      <parameter type="integer" index="11" size="2.0" param="AIR_PRESSURE" />
      <parameter type="integer" index="13" size="1.0" param="HUMIDITY" />
      <parameter type="integer" index="14" size="4.0" param="LUX" />
      <parameter type="integer" signed="true" index="18" size="2.0" param="Wassertemperatur" />
      <parameter type="integer" index="20" size="2.0" param="OPERATING_VOLTAGE" />    
   </frame>
  <frame id="MEASURE_EVENT" direction="from_device" event="true" type="0x70" channel_field="17.0:0.6">
         <parameter type="integer" signed="true" index="22.0" size="2.0" param="TEMPERATURE"/>
  </frames>
  <paramset_defs></paramset_defs>
</device>
.......
<channel index="2" type="WEATHER" count="1">
<paramset type="MASTER" id="HB-UNI-Sensor1_master" />
<paramset type="VALUES" id="HB-UNI-Sensor1_values">
<parameter id="TEMPERATURE" operations="read,event">
<logical type="float" min="-50.0" max="120.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>
</channel>
</channels>

<frames>
<frame id="WEATHER_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x70">
<parameter type="integer" signed="true" index="9" size="1.7" param="TEMPERATURE" />
<parameter type="integer" index="11" size="2.0" param="AIR_PRESSURE" />
<parameter type="integer" index="13" size="1.0" param="HUMIDITY" />
<parameter type="integer" index="14" size="4.0" param="LUX" />
<parameter type="integer" signed="true" index="18" size="2.0" param="Wassertemperatur" />
<parameter type="integer" index="20" size="2.0" param="OPERATING_VOLTAGE" />
</frame>
<frame id="MEASURE_EVENT" direction="from_device" event="true" type="0x70" channel_field="17.0:0.6">
<parameter type="integer" signed="true" index="22.0" size="2.0" param="TEMPERATURE"/>

</frames>
........

RM wieder neu gestartet (HB-UNI-Sensor vorher auch wieder gelöscht) und versucht neu anzulernen.

Aber auch mit dieser .xml läßt sich der Sensor nicht mehr anlernen.

Bin nun wieder komplett auf den alten IST Zustand und jetzt geht es erstmal wieder. Steht zwar nun bei beiden Wassertemperatur drin.

Ich bin einfach zu blöd dazu die .xml zu bearbeiten. Sorry Euch beiden danke ich dennoch für Eure Hilfestellung , TomMajor und jpl112sdl

Vielleicht findet sich ja mal jemand der eine funktionierende Originale .xml Datei von TomMajor mit einen zusätzlichen Channel, ähnlich wie bei jp112sdl seiner hb-uni-sen-lev-us_ge_v1_2 Datei bereitstellt.

Das wäre natürlich dann das NonPlusUltra. Vielen Dank nochmals und noch einen schönen Sonntag.

PS: das Dumme ist bei mir nur, ich habe mein Büro/Hobbyraum wo der PC steht im Keller. Den RM habe ich aber draußen unter den Carport im Schaltschrank verbaut. Die Werte sind also dementsprechend schlecht, weit unter -90 dBm etc.
Dateianhänge
uni sensor 1-7j.jpg
uni sensor 1-6jpg.jpg
Zuletzt geändert von magnum1795 am 12.07.2020, 10:44, insgesamt 3-mal geändert.

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von jp112sdl » 12.07.2020, 10:37

ivo-int hat geschrieben:
12.07.2020, 08:14
Hallo magnum1795

Schau dir einmal die Doku mit dem Link von Tom an. Da müssen wir noch einiges an Zeit investieren.
TomMajor hat geschrieben:
11.07.2020, 13:37
Übrigens habe ich hier einiges an Know-How und Fallstricken für AddOn-Entwicklung dokumentiert:
https://github.com/TomMajor/SmartHome/t ... duced/Docs
Danke :D Tom, da hast du einiges geschrieben. Das habe ich bereits vermutet das es nicht nur kopie paste ist. Dann weis ich mit welchen Arbeiten ich mich in den nächsten Wochen beschäftige. 8)

Gruss Ivo
Und stehen vielleicht 5% :wink:

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

jp112sdl
Beiträge: 12115
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 848 Mal
Danksagung erhalten: 2150 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von jp112sdl » 12.07.2020, 10:44

magnum1795 hat geschrieben:
12.07.2020, 10:13
In der .xml habe ich dazu einen weiteren Channel hinzugefügt
Ohne weitere Anpassungen am Sketch funktioniert das nicht.

VG,
Jérôme ☕️

---
Support for my Homebrew-Devices: Download JP-HB-Devices Addon

magnum1795
Beiträge: 267
Registriert: 13.05.2020, 17:56
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 23 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von magnum1795 » 12.07.2020, 10:47

jp112sdl hat geschrieben:
12.07.2020, 10:44
magnum1795 hat geschrieben:
12.07.2020, 10:13
In der .xml habe ich dazu einen weiteren Channel hinzugefügt
Ohne weitere Anpassungen am Sketch funktioniert das nicht.
ok. Aber wäre das mit der .xml denn erstmal soweit in Ordnung mit den anpassungen? Die "Wassertemperatur" mal ausgenoomen. Ich würde dann schon wieder die Originale.xml von Tom anpassen um eben nur einen zusätzlichen Channel zu haben.

Und was genau sollte im Sketch noch geändert werden?

Mir wäre es schon lieber mit den zusätzlichen Kanal wie von dir Vorgeschlagen. Man braucht dann die .xml nicht mehr anfassen und den Channel kann ich ja dann nach Bedarf selbst benennen wie ich es gern hätte und das Feld Temperatur wäre auch vollkommen in Ordnung.

ivo-int
Beiträge: 301
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von ivo-int » 12.07.2020, 11:05

Hallo Jerom

Nur 5% :shock:

Dann benötige ich Monate. :lol:
jp112sdl hat geschrieben:
12.07.2020, 10:37
ivo-int hat geschrieben:
12.07.2020, 08:14
Hallo magnum1795

Schau dir einmal die Doku mit dem Link von Tom an. Da müssen wir noch einiges an Zeit investieren.
TomMajor hat geschrieben:
11.07.2020, 13:37
Übrigens habe ich hier einiges an Know-How und Fallstricken für AddOn-Entwicklung dokumentiert:
https://github.com/TomMajor/SmartHome/t ... duced/Docs
Danke :D Tom, da hast du einiges geschrieben. Das habe ich bereits vermutet das es nicht nur kopie paste ist. Dann weis ich mit welchen Arbeiten ich mich in den nächsten Wochen beschäftige. 8)

Gruss Ivo
Und stehen vielleicht 5% :wink:
Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

magnum1795
Beiträge: 267
Registriert: 13.05.2020, 17:56
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 48 Mal
Danksagung erhalten: 23 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von magnum1795 » 12.07.2020, 11:28

ivo-int hat geschrieben:
12.07.2020, 11:05
Hallo Jerom

Nur 5% :shock:

Dann benötige ich Monate. :lol:
...
Und stehen vielleicht 5% :wink:
Gruss Ivo
Jahre. :lol: Ich wollte eigentlich in meinen hohen Alter kein komplett neues Studium beginnen. Habe mal vor fast 50 Jahren Anlagentechniker gelernt.

Alles andere hier ist Hobby und meist alles in Selbststudium beigebracht und sehr viel gelesen sowie viele Videos bei YT von verdrahtet und anderen reingezogen Bin aber eher in der Dreamboxwelt zu Hause. Ich hoffe ja, das sich jemand (der von Programmieren viel oder zumindest mehr als ich Ahnung hat, das sind vermutlich die meißten hier) sich erbarmt und uns so eine .xml und .ino Datei bereitstellt. Vielen Dank schonmal dafür und Euch allen noch einen schönen Sonntag.

TomMajor
Beiträge: 1793
Registriert: 30.08.2017, 23:25
Hat sich bedankt: 175 Mal
Danksagung erhalten: 399 Mal
Kontaktdaten:

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von TomMajor » 12.07.2020, 13:58

@ivo-int
@magnum1795

ich kann mal versuchen meinen Vorschlag mit zweitem Gerät / Firmware 01 usw. bei Gelegenheit selber zu testen wo da das Problem dort liegt.
Nur zeitlich wann genau kann ich euch momentan nichts versprechen.
Viele Grüße,
Tom

ivo-int
Beiträge: 301
Registriert: 13.04.2020, 08:55
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 37 Mal
Danksagung erhalten: 16 Mal

Re: HB-UNI-Sensor1 - Neuauflage

Beitrag von ivo-int » 12.07.2020, 16:26

Hallo Tom

Bei mir funktioniert es mit Firmware 01.
UNI-Sens.PNG
UNI-Sens.PNG (15.37 KiB) 1126 mal betrachtet
TomMajor hat geschrieben:
12.07.2020, 13:58
@ivo-int
@magnum1795

ich kann mal versuchen meinen Vorschlag mit zweitem Gerät / Firmware 01 usw. bei Gelegenheit selber zu testen wo da das Problem dort liegt.
Nur zeitlich wann genau kann ich euch momentan nichts versprechen.
Ich habe schon einiges probiert und getestet. Deine Anleitung und das System funktionieren.

Was ich aber Aussagen kann: Das Device Model F103 ist direkt an das Gerät HB-UNI-Sensor1 gekoppelt. Das kann nicht einfach in der XML-Datei geändert werden.

Ich bin der Meinung dass magnum1795 irgendwo einen Fehler gemacht hat. z.B. Device Serial und/oder Device ID nicht erhöht hat.

Wenn das Verzeichnis korrekt benennt ist,
UNI-Sens2.PNG
UNI-Sens2.PNG (4.43 KiB) 1126 mal betrachtet
die XML darin vorhanden ist,
UNI-Sens3.PNG
UNI-Sens3.PNG (7.93 KiB) 1126 mal betrachtet
dann wird mit dem Neustart der Raspi die XML korrekt ins Verzeichnis rftypes übernommen.

Gruss Ivo
_______________________________________________________________________________________________________
Raspberrymatic auf einem Raspi 4 4GB (HB-RF-USB-2) mit 2 LAN Gateways,
42 RF Geräte, 4 IP Geräte und 21 Cuxd Geräte, 24 RF Eigenbau Geräte
hm_pdetect, E-Mail, XML-API, JB HB Devices, HB-TM-Devices-AddOn, CUx-Daemon, CCU-Historian auf einem separaten Raspi

Antworten

Zurück zu „Hardwareentwicklung und Selbstbau von Aktoren und Sensoren“