Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

Vraag


  • BiLLY_daKid
  • Registratie: Februari 2002
  • Laatst online: 20:27
Ok, ik ben een redelijke technoob, dus excuseer mijn gebrek aan juiste bewoording.


Ik zou graag de Multical 303 integreren in mijn HA systeem.

HA (met Mosquito ivm Heishamon) draait in een VMbox op een Windows nuc. De 303 is aangesloten op een USB-M-bus convertor en kon ik uitlezen met een tooltje.

Wat ik lees, is dat er eigenlijk altijd een raspberry tussen zit om de M-bus te vertalen naar MQTT telegrammen, en die weer door te zetten naar HA ? Of is het wel mogelijk om direct aan te sluiten?

Alle reacties


  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Waar zit de mbus adapter op aangesloten? Op je HA server?

Dan kan je node-red gebruiken
Kamstrup Multical 302 met Pi uitlezen en domoticz
Titel is wat verouderd, inmiddels zit ik al lang op HA

code:
1
[{"id":"35b24b20.e53a34","type":"tab","label":"Kamstrup","disabled":false,"info":""},{"id":"a969ece1.106bd","type":"mbus-out","z":"35b24b20.e53a34","name":"Kamstrup","client":"b8af9f24.8bce","x":460,"y":60,"wires":[["22f0e97d.331106"]]},{"id":"22f0e97d.331106","type":"debug","z":"35b24b20.e53a34","name":"","active":false,"console":false,"complete":"false","x":670,"y":60,"wires":[]},{"id":"da70b0d9.e686e","type":"debug","z":"35b24b20.e53a34","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":670,"y":120,"wires":[]},{"id":"bde8a2d2.64514","type":"inject","z":"35b24b20.e53a34","name":"Get Devices","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":true,"onceDelay":"","topic":"getDevices","payload":"","payloadType":"str","x":170,"y":160,"wires":[["d3b3374a.93ade8"]]},{"id":"184cb18f.1b906e","type":"mqtt out","z":"35b24b20.e53a34","name":"","topic":"kamstrup","qos":"","retain":"","respTopic":"","contentType":"","userProps":"","correl":"","expiry":"","broker":"f935c11c.41462","x":980,"y":180,"wires":[]},{"id":"ecc32f4.84ea2d","type":"inject","z":"35b24b20.e53a34","name":"Read ID 1","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"120","crontab":"","once":false,"onceDelay":"","topic":"getDevice","payload":"{\"address\": \"827235452D2C4004\"}","payloadType":"json","x":150,"y":60,"wires":[["d3b3374a.93ade8"]]},{"id":"f55ed55a.826ba8","type":"function","z":"35b24b20.e53a34","name":"Extract + Format Kamstrup 302","func":"\nvar TotalHeatEnergy = msg.payload.DataRecord[0].Value;   \nvar TotalCoolEnergy = msg.payload.DataRecord[14].Value;\nvar FlowTemperature = msg.payload.DataRecord[6].Value /100;\nvar ReturnTemperature = msg.payload.DataRecord[7].Value /100;\nvar DiffTemperature = Math.abs(msg.payload.DataRecord[8].Value /100);\nvar PowerInstValue = Math.abs(msg.payload.DataRecord[9].Value *100);\nvar FlowValue = msg.payload.DataRecord[11].Value;\nvar FlowValuelm = Number((FlowValue/60).toFixed(2));\nvar WPpower = Math.abs(Number(parseFloat((FlowValuelm / 60) * 4.2 * DiffTemperature * 1000).toFixed(0)))\n// var Cop = Math.abs(Number(parseFloat(WPpower / msg.payload.powers0).toFixed(2)))\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n        measurement: \"kamstrup\",\n\t\tfields: {\n            totalheatenergy     : TotalHeatEnergy, \n            totalcoolenergy     : TotalCoolEnergy,\n            flowtemperature     : FlowTemperature, \n            returntemperature   : ReturnTemperature,\n            difftemperature     : DiffTemperature,\n            powerinstvalue      : PowerInstValue,\n            flowvalue           : FlowValue, \n            flowvaluelm         : FlowValuelm, \n            wppower             : WPpower,\n//            cop                 : Cop,\n\n\t\t    },\n\t\ttags:{\n\t\t    device: \"heatmeter\",\n\t\t    },\n\t}\n\nreturn _msg;\n","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":730,"y":180,"wires":[["471ea00.c27556","184cb18f.1b906e"]]},{"id":"471ea00.c27556","type":"debug","z":"35b24b20.e53a34","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":990,"y":240,"wires":[]},{"id":"d3b3374a.93ade8","type":"mbus-controller","z":"35b24b20.e53a34","name":"M-Bus Controller","client":"b8af9f24.8bce","x":410,"y":120,"wires":[["f55ed55a.826ba8","da70b0d9.e686e"]]},{"id":"50e55984.5111d8","type":"function","z":"35b24b20.e53a34","name":"Function","func":"var WPpower = Math.abs(Number(parseFloat((msg.payload.flow/60) * 4.2 * msg.payload.esp_deltat_wp*1000).toFixed(0)))\nvar Cop =  Math.abs(Number(parseFloat(WPpower/msg.payload.powers0).toFixed(2)))\nvar VVWflow = 0\n\nlet _msg = {\n    payload: []\n};\n\n_msg.payload=\n    {\n       measurement: \"procon\",\n\t\tfields: {\n\t\t\twp_power: WPpower,\t\n\t\t\tcop:      Cop,\t\n\t\t\tvvw_flow:  VVWflow,\n\t\t    },\n\t\ttags:{\n\t\t    device: \"mitsubishi\",\n\t\t    },\n\t\ttimestamp: flow.get('timestamp')\n\t}\n\nreturn _msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":660,"y":260,"wires":[[]]},{"id":"9d08adae7c55d092","type":"mqtt in","z":"35b24b20.e53a34","name":"","topic":"kamstrup","qos":"2","datatype":"json","broker":"f935c11c.41462","nl":false,"rap":false,"inputs":0,"x":800,"y":320,"wires":[["67e34866b2a7517b"]]},{"id":"67e34866b2a7517b","type":"debug","z":"35b24b20.e53a34","name":"","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":960,"y":320,"wires":[]},{"id":"bd199608065672f5","type":"comment","z":"35b24b20.e53a34","name":"mqtt: huppelepup.fields.payload","info":"","x":1050,"y":120,"wires":[]},{"id":"b8af9f24.8bce","type":"mbus-client","name":"Kamstrup","clienttype":"serial","tcpHost":"127.0.0.1","tcpPort":"10001","tcpTimeout":"4000","serialPort":"/dev/serial/by-id/usb-Silicon_Labs_Relay_M-Bus_Micro-Master_USB_9040-if00-port0","serialBaudrate":"2400","reconnectTimeout":"30000","autoScan":false,"storeDevices":true,"disableLogs":false},{"id":"f935c11c.41462","type":"mqtt-broker","name":"MQTT","broker":"core-mosquitto","port":"1883","clientid":"","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","birthMsg":{},"closeTopic":"","closeQos":"0","closePayload":"","closeMsg":{},"willTopic":"","willQos":"0","willPayload":"","willMsg":{},"userProps":"","sessionExpiry":""}]


kamstrup.yaml
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
################################################################
## Packages / Kamstrup
## Written by AUijtdehaag
################################################################

################################################################
## Changelog
################################################################
##
## 1.0.0 (27-09-2020)
##   Added
##   - Initial version
##
##   - New/changed topics
##
################################################################

# sensor #
##########
mqtt:
  sensor:
  # Pumpflow L/min
    - name: Kamstrup Flow L/min
      state_topic: "kamstrup"
      unit_of_measurement: 'L/min'
      value_template: "{{ value_json.fields.flowvaluelm }}"

  # Pumpflow m3/h
    - name: Kamstrup Flow L/h
      state_topic: "kamstrup"
      unit_of_measurement: 'L/h'
      value_template: "{{ value_json.fields.flowvalue }}"

  # Water flow temp
    - name: Kamstrup Flow Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.fields.flowtemperature }}"

  # Water return temp
    - name: Kamstrup Return Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.fields.returntemperature }}"

  # Water differential temp
    - name: Kamstrup Differential Temperature
      state_topic: "kamstrup"
      unit_of_measurement: '°C'
      value_template: "{{ value_json.fields.difftemperature }}"

  # Heating power produced
    - name: Kamstrup Power Produced
      state_topic: "kamstrup"
      unit_of_measurement: 'W'
      value_template: "{{ value_json.fields.powerinstvalue }}"

  # Heating Counter
    - name: Kamstrup Heating Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'kWh'
      value_template: "{{ value_json.fields.totalheatenergy }}"


  # Cooling Counter
    - name: Kamstrup Cooling Counter
      state_topic: "kamstrup"
      unit_of_measurement: 'kWh'
      value_template: "{{ value_json.fields.totalcoolenergy }}"

# switch #
##########
  switch:
#Turn on/off kamstrup
    - name: Kamstrup
      command_topic: "kamstrup/on_off"
      state_topic: "kamstrup/On_Off_State"
      qos: 0
      payload_on: "1"
      payload_off: "0"
      retain: false

utility_meter:
  daily_heat_energy:
    source: sensor.kamstrup_heating_counter
    cycle: daily
  monthly_heat_energy:
    source: sensor.kamstrup_heating_counter
    cycle: monthly
  daily_cool_energy:
    source: sensor.kamstrup_cooling_counter
    cycle: daily
  monthly_cool_energy:
    source: sensor.kamstrup_cooling_counter
    cycle: monthly
Afbeeldingslocatie: https://tweakers.net/i/LVF50xYcn67LjUnshRsvFoS_zHI=/800x/filters:strip_icc():strip_exif()/f/image/0FN8ZR19KFDvlx3NqoHfLbZd.jpg?f=fotoalbum_large

[ Voor 125% gewijzigd door AUijtdehaag op 11-11-2023 11:37 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek


  • BiLLY_daKid
  • Registratie: Februari 2002
  • Laatst online: 20:27
@AUijtdehaag Klopt, de M-bus adapter zit direct op de Nuc. Maar ik heb dus sowiezo een Pi nodig?

  • AUijtdehaag
  • Registratie: Oktober 2006
  • Niet online
Kun je geen node red installeren?

Geen pi nodig als hij in de NUC zit

Ik heb geen kennis van VMbox, dus ik weet niet of je de usb poorten ziet in HA?

[ Voor 18% gewijzigd door AUijtdehaag op 11-11-2023 12:23 ]

PVOutput Github - Div ESP TK: MHI - Clack - Marstek