Seite 6 von 20
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 26.02.2020, 12:53
von wolwin
Hallo Jerome,
baue gerade für unsere drei Regenfässer Dein HB-UNI-Sen-LEV-US im DN 75 Rohr nach - super Projekt von Dir !! Beim Testaufbau ist mir aufgefallen, dass die Ruhestromaufnahme trotz Sensorabschaltung auf 85 uA stehen blieb. Fand ich zu hoch und hab folgendes gefunden:
In Zeile 278 wird der ECHO-Pin auf INPUT_PULLUP gesetzt:
Code: Alles auswählen
void setup(Device<Hal, UList0>* dev, uint8_t number, uint16_t addr) {
Channel::setup(dev, number, addr);
pinMode(SENSOR_ECHO_PIN, INPUT_PULLUP);
pinMode(SENSOR_TRIG_PIN, OUTPUT);
pinMode(SENSOR_EN_PIN, OUTPUT);
sysclock.add(*this);
Setze ich den ECHO-Pin auf INPUT funktioniert alles immer noch, jedoch ist mit dieser Änderung die Ruhestromaufnahme auf die gewünschten 5 uA runter. Da ich jedoch nicht weiß, ob der von Dir eingesetzte Ultraschall Sensor einen Pullup Widerstand benötigt, könnte man alternativ noch nach der Zeile 155 ein
pinMode(SENSOR_ECHO_PIN, INPUT_PULLUP); und vor Zeile 201 ein
pinMode(SENSOR_ECHO_PIN, INPUT); einfügen.
Ich setze einen Ultrasonic RCW-0001 ein - bei dem reicht die Änderung in Zeile 278 ...
https://www.makershop.de/sensoren/dista ... -rcw-0001/
Soll ich mal einen Github - Issue aufmachen - übrigens: gleiches gilt auch für HB-UNI-Sen-DIST-US
Gruß
Wolfram
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 27.02.2020, 17:39
von jp112sdl
wolwin hat geschrieben: ↑26.02.2020, 12:53
könnte man alternativ noch nach der Zeile 155 ein pinMode(SENSOR_ECHO_PIN, INPUT_PULLUP); und vor Zeile 201 ein pinMode(SENSOR_ECHO_PIN, INPUT); einfügen.
Der Vorschlag klingt gut.
wolwin hat geschrieben: ↑26.02.2020, 12:53
Soll ich mal einen Github - Issue aufmachen - übrigens: gleiches gilt auch für HB-UNI-Sen-DIST-US
Ein PullRequest wäre besser
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 10.03.2020, 15:39
von wolwin
Noch eine Frage ...
Kann ich Dich dazu bewegen
den Wert der Füllhöhe 'fillingHeight' aus dem INO Script ebenfalls zur CCU zu übertragen?
VG
Wolfram
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 10.03.2020, 15:53
von jp112sdl
Nein, ich plane derzeit generell keine weiteren Änderungen und mache nur noch Bestandspflege.
Theoretisch sollte es reichen, wenn du dir die
https://github.com/jp112sdl/JP-HB-Devic ... lev-us.xml
in den Ordner "/usr/local/addons/jp-hb-devices-addon/customized_firmware" kopierst und den Datenpunkt selbst noch einfügst und im Sketch die Payload noch um den Wert erweiterst
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 10.03.2020, 17:51
von wolwin
jp112sdl hat geschrieben: ↑10.03.2020, 15:53
in den Ordner "/usr/local/addons/jp-hb-devices-addon/customized_firmware" kopierst und den Datenpunkt selbst noch einfügst und im Sketch die Payload noch um den Wert erweiterst
Ok - im INO die Payload erweitert:
Code: Alles auswählen
class MeasureEventMsg : public Message {
public:
void init(uint8_t msgcnt, uint8_t percent, uint32_t liter, uint32_t hoehe, uint8_t volt) {
Message::init(0x0f, msgcnt, 0x53, BIDI | WKMEUP, percent & 0xff, volt & 0xff);
pload[0] = (liter >> 24) & 0xff;
pload[1] = (liter >> 16) & 0xff;
pload[2] = (liter >> 8) & 0xff;
pload[3] = liter & 0xff;
pload[4] = (hoehe >> 24) & 0xff;
pload[5] = (hoehe >> 16) & 0xff;
pload[6] = (hoehe >> 8) & 0xff;
pload[7] = hoehe & 0xff;
}
};
... und in der XML-Datei im 'reinen Blindflug' eingefügt ... ist das richtig so - und wie kommt denn die Wertbezeichnung 'Höhe' in die WebUI ???
Code: Alles auswählen
...
<parameter id="DISTANCE" operations="read,event" control="NONE">
<logical type="float" min="0.0" max="1000.0" unit="cm"/>
<physical type="integer" interface="command" value_id="DISTANCE" no_init="true">
<event frame="MEASURE_EVENT"/>
</physical>
<conversion type="float_integer_scale" factor="1.0"/>
</parameter>
...
</paramset>
<paramset type="LINK" id="HB-UNI-Sen-LEV-US_link" />
</channel>
</channels>
<frames>
<frame id="MEASURE_EVENT" direction="from_device" event="true" fixed_channel="1" type="0x53">
<parameter type="integer" index="9.0" size="1.0" param="FILLING_LEVEL" />
<parameter type="integer" index="10.0" size="1.0" param="BATTERY_VOLTAGE"/>
<parameter type="integer" index="11.0" size="4.0" param="FILLING_LITER"/>
<parameter type="integer" index="12.0" size="2.0" param="DISTANCE" />
</frame>
</frames>
<paramset_defs></paramset_defs>
</device>
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 10.03.2020, 18:23
von jp112sdl
wolwin hat geschrieben: ↑10.03.2020, 17:51
Wertbezeichnung 'Höhe' in die WebUI ???
Das wird etwas aufwendiger.
Du musst dann die /www/config/stringtable_de.txt und /www/webui/js/lang/de/translate.lang.stringtable.js anpassen.
Schau mal hier:
https://github.com/jp112sdl/JP-HB-Devic ... en-dist-us
Achtung: Nach einem CCU FW Update ist das wieder weg!
Noch ein Hinweis: Du hast im Sketch die Höhe mit 4 Byte und in XML mit 2 Byte angegeben.
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 10.03.2020, 20:48
von wolwin
jp112sdl hat geschrieben: ↑10.03.2020, 18:23
Das wird etwas aufwendiger.
das kann man wirklich so sagen !!!
Nach ein wenig 'System-Forschung' möchte ich mich lieber doch nicht mit diesen HM Verfahren beschäftigen ....
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 10.03.2020, 21:15
von jp112sdl
wolwin hat geschrieben: ↑10.03.2020, 20:48
das kann man wirklich so sagen !!!
50% der Entwicklung eines HB-Gerätes stecken auf Seiten der CCU.
Man sieht davon nur nix - außer das fertige Endergebnis, dargestellt in der WebUI.
Und die Translations sind da wirklich noch das aller einfachste.
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 11.03.2020, 14:33
von wolwin
jp112sdl hat geschrieben: ↑10.03.2020, 18:23
Du musst dann die /www/config/stringtable_de.txt und /www/webui/js/lang/de/translate.lang.stringtable.js anpassen.
Wenn Du mir jetzt noch verraten kannst, warum der DISTANCE Eintrag aus dem XML in der WebUI nicht umgesetzt wird … in den entsprechenden WWW Verzeichnissen sind die Werte ja alle schon vorhanden vorhanden:
In /www/config/stringtable_de.txt: HB_GENERIC_DIST|DISTANCE ${stringTableHbGenericDistDistance}
In /www/webui/js/lang/de/translate.lang.stringtable.js: "stringTableHbGenericDistDistance" : "Abstand",
Beim neuen Anlernen findet keine Umsetzung statt - irgendwas fehlt scheinbar noch ?
Re: HB-UNI-Sen-LEV-US - Ultraschall Füllstandsensor
Verfasst: 11.03.2020, 15:07
von jp112sdl
Der LEV-US ist vom Typ "
CAPACITIVE_FILLING_LEVEL_SENSOR" wohingegen der DIST-US vom Typ "
HB_GENERIC_DIST" ist.
Entweder du nimmst HB_GENERIC_DIST| ganz weg oder fügst nohc einen CAPACITIVE_FILLING_LEVEL_SENSOR|DISTANCE hinzu