Füllstandsensor mit Druck- statt US-Sensor

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

Moderator: Co-Administratoren

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von jp112sdl » 13.03.2019, 11:57

DocMarten hat geschrieben:
13.03.2019, 11:33
pressure
allein ist z.B. 19,6 wenn ContentLiters 1960 ist.
Das kann nicht sein, da pressure ein uint16_t ist.

Oder willst du Liter * 100 rechnen ?
1960 Liter * 100 = 196000 und das ist größer als ein uint16_t werden kann (65536).

Hab deinen Code nur flüchtig überflogen :roll:
Zuletzt geändert von jp112sdl am 13.03.2019, 11:57, insgesamt 1-mal geändert.

VG,
Jérôme ☕️

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

DocMarten
Beiträge: 152
Registriert: 12.11.2006, 23:33

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von DocMarten » 13.03.2019, 11:57

Danke - schon wieder was gelernt...
Ausgabe vom letzten Test heute früh war BTW (bei pressure = ContentLiters *100):

Code: Alles auswählen

+Pressure  (#1) Analogwert: 251
09:54:02.222 -> +Pressure  (#1)       Fuellstand in Prozent: 23.3666706085
09:54:02.222 -> +Pressure  (#1)       Fuellstand in Litern: 1964.8845214843
09:54:02.222 -> +Pressure  (#1)       Messung: 6.0753340721
09:54:02.222 -> +Pressure  (#1)       sens_val: 251
09:54:02.222 -> +Pressure  (#1)       ContentTotal: 8.4089193344
09:54:02.222 -> +Pressure  (#1)       Pressure: 19648
<- 0E 01 84 53 E90101 424242 00 C1 01 C0 C0  - 3180
ignore 0C CD 86 5A 391C84 000000 78 BF 28  - 3194
...
Angekommen ist:

Code: Alles auswählen

Readings
pressure 493.44 2019-03-13 09:54:04
state 493.44 2019-03-13 09:54:04
Standort 1: FS20 + Homematic mit CUL und FHEM (immer aktuelle Ver.) auf Raspberry Pi
Standort 2: Homematic (Wired + einige Funkmodule) über CCU2 und PocketHome HD, VCCU auf Raspberry
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods)

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von jp112sdl » 13.03.2019, 12:02

Man sieht hier schön im Telegramm, was gesendet wird:

Code: Alles auswählen

<- 0E 01 84 53 E90101 424242 00 C1 01 C0 C0  - 3180
Die pressure-Payload ist C0 C0 (hex)-> b1100000011000000 -> 49344

VG,
Jérôme ☕️

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

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von jp112sdl » 13.03.2019, 12:02

DocMarten hat geschrieben:
13.03.2019, 11:57
BTW (bei pressure = ContentLiters *100):
Ok, das erklärt es dann wohl...
jp112sdl hat geschrieben:
13.03.2019, 11:57
1960 Liter * 100 = 196000 und das ist größer als ein uint16_t werden kann (65536).

VG,
Jérôme ☕️

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

DocMarten
Beiträge: 152
Registriert: 12.11.2006, 23:33

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von DocMarten » 13.03.2019, 12:20

Das versehe ich aber immer noch nicht.
Zum einen kommt bei bei pressure = ContentLiters *10 ja 196 an, d.h. der Wert wird ja irgendwo schon "gestutzt", wobei mir auch nicht klar ist, warum nicht direkt der Wert von ContentLiters (der ja seriell der korrekte ist) genommen werden kann.
Zum anderen habe ich es ja auch mit uint32_t statt uint16_t versucht, und das hat auch nicht geklappt (oder "passt" das nicht ins Telegramm)?
Standort 1: FS20 + Homematic mit CUL und FHEM (immer aktuelle Ver.) auf Raspberry Pi
Standort 2: Homematic (Wired + einige Funkmodule) über CCU2 und PocketHome HD, VCCU auf Raspberry
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods)

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von jp112sdl » 13.03.2019, 12:25

DocMarten hat geschrieben:
13.03.2019, 12:20
(oder "passt" das nicht ins Telegramm)?
Korrekt.
Dazu müsstest du noch 2 Bytes an die Payload anhängen und auch die Telegrammlänge erweitern.

Code: Alles auswählen

class WeatherEventMsg : public Message {
  public:
    void init(uint8_t msgcnt, uint8_t channel, uint32_t pressure) {
      DPRINT("XXX ");DDECLN(pressure); 
      Message::init(0x10, msgcnt, 0x53, BCAST , 0x00, 0xc1);
      pload[0] = channel  & 0xff;
      pload[1] = (pressure >> 24) & 0xff;
      pload[2] = (pressure >> 16) & 0xff;
      pload[3] = (pressure >> 8) & 0xff;
      pload[4] = pressure & 0xff;
    }
};
Das passt dann aber auch nicht mehr zur CCU-XML Gerätedatei... aber die verwendest du eh nicht, weil du FHEM nutzt und ohne CCU arbeitest? Oder hast du das JP-HB-Devices-Addon in Verwendung?
Falls ja, müsstest du hier: https://github.com/jp112sdl/JP-HB-Devic ... ss.xml#L81

noch

Code: Alles auswählen

 <parameter type="integer" index="12.0" size="4.0" param="UNI_PRESSURE" />
 
ädnern

VG,
Jérôme ☕️

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

DocMarten
Beiträge: 152
Registriert: 12.11.2006, 23:33

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von DocMarten » 13.03.2019, 12:31

Vielen Dank Jerome,
ich nutze hier fhem (und habe nur eine alte CCU1, auf der sich Dein Addon aber nicht installieren lässt) und im Ferienhaus CCU2 + fhem (vccu).
Ich werde mich heute Abend dran machen. Immer noch nicht klar ist mir, warum ich nicht einfach den korrekten Wert (hier 1960) direkt ans Telegramm übergeben kann, ohne es verlängern zu müssen? Der wird ja w.o. korrekt ermittelt/berechnet.
Wahrscheinlich muss ich auch Papas Modul anpassen?
Standort 1: FS20 + Homematic mit CUL und FHEM (immer aktuelle Ver.) auf Raspberry Pi
Standort 2: Homematic (Wired + einige Funkmodule) über CCU2 und PocketHome HD, VCCU auf Raspberry
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods)

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von jp112sdl » 13.03.2019, 12:33

Schau erstmal, was die zusätzliche Ausgabe DPRINT("XXX ");DDECLN(pressure); in der Message Klasse ausgibt.

VG,
Jérôme ☕️

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

DocMarten
Beiträge: 152
Registriert: 12.11.2006, 23:33

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von DocMarten » 13.03.2019, 13:16

ok, mach ich.
Wahrscheinlich (wenn ich mich traue) versuche ich im Lauf der Zeit auch, doch ein eigenes Modul daraus zu machen. Da sind ja z.B. noch die ganzen Funktionen zur Energieeinsparung, Batteriecheck usw. zu integrieren, wenn ich es wirklich mit einer Solar-Powerbank oder eben Batterien laufen lassen will.
Was BTW auch bei diesem Modul (ebenso wie beim US-Füllstandmesser) nicht tut ist die LED - ich solche aus igrnedeinem Arduino-Bastelkit genommen. Gibt es da unterschiedliche Typen?
Standort 1: FS20 + Homematic mit CUL und FHEM (immer aktuelle Ver.) auf Raspberry Pi
Standort 2: Homematic (Wired + einige Funkmodule) über CCU2 und PocketHome HD, VCCU auf Raspberry
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods)

jp112sdl
Beiträge: 12085
Registriert: 20.11.2016, 20:01
Hat sich bedankt: 847 Mal
Danksagung erhalten: 2139 Mal
Kontaktdaten:

Re: Füllstandsensor mit Druck- statt US-Sensor

Beitrag von jp112sdl » 13.03.2019, 13:21

DocMarten hat geschrieben:
13.03.2019, 13:16
Gibt es da unterschiedliche Typen?
möglicherweise hat sie einen zu großen Vorwiderstand weil sie für höhere Spannung ausgelegt ist

VG,
Jérôme ☕️

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

Antworten

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