[Wired] HBW-Sen-EP

Begonnen von holzwurm83, 21 September 2019, 21:35:48

Vorheriges Thema - Nächstes Thema

holzwurm83

Hallo zusammen,

ich wollte mir einen HBW-Sen-EP zusammen bauen, aber mir scheint dies hier nicht mehr ganz aktuell zu sein, oder?

https://github.com/kc-GitHub/HM485-Lib/tree/thorsten/HBW-Sen-EP
- 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

Thorsten Pferdekaemper

Hi,
das mag sein, aber funktionieren müsste es aber.

EDIT: ...nur die .pm-Datei im Git solltest Du ignorieren. Die wird inzwischen aus der XML automatisch generiert.

Gruß,
   Thorsten
FUIP

loetmeister

Hallo,

Ich hatte das device auf die aktuelle library umgestellt.
Zu finden in Thorstens github repository oder in meinem.. Seid dem letzten merge ist aber nichts neues dazu gekommen..

Bitte xml und device von hier nehmen:

https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-Sen-EP

Gruß,
Thomas

holzwurm83

- 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

Thorsten Pferdekaemper

Meiner Meinung nach sollte das gehen. Du kannst es ja mal probieren und hier berichten.
Gruß,
   Thorsten
FUIP

holzwurm83

Hallo zusammen,

habe das heute einmal angeschlossen und ausprobiert. Hat auf anhieb auch funktioniert, allerdings Zähl er noch nicht ganz richtig. Ich habe zwei mal 20l abgefüllt und beim ersten mal waren es 207 Zählungen und beim zweiten nur 150. Scheint dann wohl so zu sein, dass ihm einige durchgehen.

Muss ich da ggf. was an den Einstellungen ändern?

ZitatInternals:
   DEF        42000018_01
   FUUID      5d8f18dc-f33f-283d-a19c-97adb297c4fdef05
   NAME       HBW_Sen_EP_HBW7296280_01
   NR         1123
   STATE      counter_575
   TYPE       HM485
   chanNo     01
   device     HBW_Sen_EP_HBW7296280
   peerRole   none
   READINGS:
     2019-09-28 11   R-enabled       yes
     2019-09-28 11   R-inverted      no
     2019-09-28 11   R-polling_time  10.00
     2019-09-28 11   R-send_delta_count 1
     2019-09-28 11   R-send_max_interval 600
     2019-09-28 11   R-send_min_interval 10
     2019-09-28 12   counter         575
     2019-09-28 12   state           counter_575
   devHash:
     DEF        42000018
     FUUID      5d8f18db-f33f-283d-b4be-5df3cc258fad60df
     FailedConfigReads 0
     IODev      HM485_LAN
     NAME       HBW_Sen_EP_HBW7296280
     NR         1121
     RawDeviceType 132
     RawFwVersion 1
     STATE      ACK
     TYPE       HM485
     channel_01 HBW_Sen_EP_HBW7296280_01
     channel_02 HBW_Sen_EP_HBW7296280_02
     channel_03 HBW_Sen_EP_HBW7296280_03
     channel_04 HBW_Sen_EP_HBW7296280_04
     channel_05 HBW_Sen_EP_HBW7296280_05
     channel_06 HBW_Sen_EP_HBW7296280_06
     channel_07 HBW_Sen_EP_HBW7296280_07
     channel_08 HBW_Sen_EP_HBW7296280_08
     READINGS:
       2019-09-28 11   D-deviceKey     HBW_SEN_EP
       2019-09-28 11   D-fwVersion     0.01
       2019-09-28 11   D-serialNr      HBW7296280
       2019-09-28 10   P-counter       0 to hmwCentral
       2019-09-28 11   R-central_address 00000001
       2019-09-28 11   configStatus    OK
       2019-09-28 11   counter         0
       2019-09-28 10   state           ACK
     cache:
       sets       Unknown argument ?, choose one of  config getConfig raw reset 
       01:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       02:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       03:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       04:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       05:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       06:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       07:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       08:
         allowedSets
         sets       Unknown argument ?, choose one of  config 
         peeredChannels:
       linkParams:
         actuator:
           channels   00
         sensor:
           channels   00
       peers:
         actuators:
         sensors:
Attributes:
   room       HM485
   subType    counter_input
- 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

loetmeister

Hi,

Wenn ich das richtig sehe, dann liefert der sensor eine frequenz von 368 Hz bei 50 Liter /Minute. Das wäre dann eine Periodendauer (1/F) von etwa 2,7ms. Bei 20 Liter /Minute noch 7,8ms. Alles kleiner als die 10ms Abtastung die aktuell möglich ist.
In diesem Fall müsste man wohl eineniInterrupt für den Eingangs pin aktivieren... Sonst läuft man Gefahr das einem impulse durch rutschen...

Gruß,
Thomas

holzwurm83

Hallo Thomas,

danke für dein Feedback. Wir kann ich das einstellen? Komme nicht ganz mit.

Danke Dir!
- 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

Thorsten Pferdekaemper

Ui, ich hätte nicht gedacht, dass die Dinger so schnell takten. Ich hätte auch gedacht, dass ein S0-Bus im Zweifelsfall schneller sein kann.
In dem Fall muss man wohl tatsächlich das ganze mit einem Interrupt machen und sozusagen "im Hintergrund" zählen. Dafür muss man schon ein bisschen was umbauen. Einfach so etwas einstellen reicht da nicht. Man könnte die Konstante POLLING_TIME runtersetzen, aber spätestens wenn das Teil was auf den Bus sendet kann es auch mal länger dauern, bis wieder gepollt wird.
D.h. ohne Umstellung auf Interrupt wird das wohl nicht gehen.
Gruß,
   Thorsten
FUIP

loetmeister

Hi,

ich schaue mal ob ich da was mache... im Moment habe ich aber zu viele andere Baustellen.  ::)
Hab mal kurz geschaut ob ich https://github.com/GreyGnome/EnableInterrupt nutzen kann... wenn ich den "Interrupt handling" Teil ISR(PCINT0...3_vect) aus HBWSoftwareSerial.cpp nehme, kann ich die EnableInterrupt Lib jedenfalls schon nutzen...

Gruß,
Thomas

a_quadrat

Hi,

ich glaube ganz so schnell ist der Sensor nicht, es sind 368 Impulse / min, das sind rund 6 Hz. Wenn ich mich nicht irre.

VG Andreas

loetmeister

#11
Hallo,

ist schon etwas älter das Thema....  ;D aber ich habe eine HBW-Sen-EP Variante erstellt, welche mit Interrupts arbeitet (Port change interrupt):
https://github.com/ThorstenPferdekaemper/HBWired/tree/master/HBW-Sen-EP_interrupt-based
Da ich noch ein kleines serielles Display hatte (UC121902-TNARX-A von Pollin) habe ich das ebenfalls eingebaut. So kann man den 'counter' direkt am Gerät ablesen und sehen ob, wie erwartet gezählt wird.

PS: Wichtig hierbei, man kann die Busanbindung nur über Hardware Serial realisieren: S0-Signal Eingänge sind über Port Interrupts möglich, aber nicht in Kombination mit HBWSoftwareSerial / SoftwareSerial. (Bei Nutzung der Arduino IDE, die Datei HBWSoftwareSerial.cpp z.B. in HBWSoftwareSerial.cpp_ umbenennen, um das Projekt erfolgreich zu Kompilieren.)

Gruß,
Thomas