ioBroker / AdapterRequests

This Place is used to track the status of new Adapter-Requests.
249 stars 36 forks source link

Adapter zum Auslesen eines Wärmemengenzählers "Sensus PolluCom E" #648

Open atifan opened 3 years ago

atifan commented 3 years ago

Hallo. Ich würde gerne meine Wärmemengenzähler über die optische Schnittstelle mit Hilfe eines IR-Schreib/Lesekopfes auslesen und im IoBroker loggen. Herstellerfirma: Sensus Typ: PolluCom E

Infos gibt es hier -> http://www.bernhardt-wasserzaehler.at/downloads/lh_1110_de_pollucom_e_0001.pdf

Ich habe ein python2-Script gefunden mit dem der Auslesevorgang funktioniert. Es wäre super wenn jemand einen Adapter bauen könnte mit dem man die Daten dann ganz einfach in den IoBroker bekommt.

Hier der Link zu dem Script: https://www.mikrocontroller.net/topic/113984#5645337

atifan commented 3 years ago

Als IR-Schreib/Lesekopf nutze ich den Volkszähler Lesekopf in der TTL-Variante in Verbindung mit einem FTDI-Adapter. https://wiki.volkszaehler.org/hardware/controllers/ir-schreib-lesekopf-ttl-ausgang

Die Daten kommen also über die USB-Schnittstelle rein.

Apollon77 commented 3 years ago

Ok, was ist denn da jetzt das Protokoll?

Laut Anleitung gibt es

Apollon77 commented 3 years ago

Poste doch mal ein Datenpaket

atifan commented 3 years ago

Puh, da bin ich leider überfragt, das ist mir selber bisschen schleierhaft was für Protokoll es ist. Ich kann eigentlich nur sagen, dass es mit oben dem Script funktioniert. Wie kann ich denn so ein Datenpaket auslesen?

Hier poste ich mal was ich als Daten zurückbekomme, also die JSON, vielleicht nutzt das ja was. Sorry, bin halt Noob :(

{ "body": { "header": { "access_no": 38, "identification": "0x80, 0x74, 0x12, 0x39", "manufacturer": "SEN", "medium": "0x4", "sign": "0x0, 0x0", "status": "0x0", "type": "0x72", "version": "0x19" }, "records": [ { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.ENERGY_WH", "unit": "MeasureUnit.WH", "value": 6720000 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.VOLUME", "unit": "MeasureUnit.M3", "value": 1083.3120000000001 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.VOLUME_FLOW", "unit": "MeasureUnit.M3_H", "value": 0 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.POWER_W", "unit": "MeasureUnit.W", "value": 0 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.FLOW_TEMPERATURE", "unit": "MeasureUnit.C", "value": 32.1 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.RETURN_TEMPERATURE", "unit": "MeasureUnit.C", "value": 21 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.TEMPERATURE_DIFFERENCE", "unit": "MeasureUnit.K", "value": 11.117 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnit.FABRICATION_NO", "unit": "MeasureUnit.NONE", "value": 80741239 }, { "function": "FunctionType.INSTANTANEOUS_VALUE", "type": "VIFUnitExt.CUSTOMER_LOCATION", "unit": "MeasureUnit.NONE", "value": 80741239 }, { "function": "FunctionType.MORE_RECORDS_FOLLOW", "type": "None", "unit": "None", "value": null } ] }, "head": { "a": "0x0", "c": "0x8", "crc": "0x7f", "length": "0x42", "start": "0x68", "stop": "0x16" } }

Apollon77 commented 3 years ago

Try MBus adapter ...