xirixiz / dsmr-reader-docker

DSMR Reader in Docker.
https://hub.docker.com/r/xirixiz/dsmr-reader-docker
113 stars 33 forks source link

0 Uitgaande MQTT-berichten #265

Closed TerrorSource closed 2 years ago

TerrorSource commented 2 years ago

Support guidelines

I've found an issue and checked that ...

Description

"0 Uitgaande MQTT-berichten", MQTT is wel ingeschakeld DSMR-reader is ook niet in Mosquitto zichtbaar als device.

Expected behaviour

MQTT-berichten zichtbaar. DSMR-reader zichtbaar als device in Mosquitto

Actual behaviour

Er worden geen MQTT berichten uitgestuurd.

Steps to reproduce

MQTT broker/verbinding: V ingeschakeld hostname: homeassistant poort: 1883 Bevieliging: onveilig ClientID: DSMR-reader gebruikersnaam: mqtt-user wachtwoord: mqtt-password

Docker info

Docker op Synology:

ash-4.4# docker info
Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 13
  Running: 10
  Paused: 0
  Stopped: 3
 Images: 13
 Server Version: 20.10.3
 Storage Driver: btrfs
  Build Version: Btrfs v4.0
  Library Version: 101
 Logging Driver: db
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs db fluentd gcplogs gelf journald json-file local logentries splun                                                                             k syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ea3508454ff2268c32720eb4d2fc9816d6f75f88
 runc version: 31cc25f16f5eba4d0f53e35374532873744f4b31
 init version: ed96d00 (expected: de40ad0)
 Security Options:
  apparmor
 Kernel Version: 4.4.180+
 Operating System:  (containerized)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 15.48GiB
 Name: Diskstation
 ID: RFCM:ALAE:AC2R:FBKS:XBCC:XDSC:XZP3:PPGT:2QOL:JSLO:X4T3:JTGR
 Docker Root Dir: /volume1/@docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No kernel memory TCP limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: No blkio weight support
WARNING: No blkio weight_device support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support

Version

Docker compose

ash-4.4# docker-compose config
ERROR:
        Can't find a suitable configuration file in this directory or any
        parent. Are you in the right directory?

        Supported filenames: docker-compose.yml, docker-compose.yaml

Container logs

172.17.0.1 - - [07/Feb/2022:18:57:17 +0000] "GET /xhr/header HTTP/1.1" 200 147 "http://192.168.1.8:7777/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 127.0.0.1 - - [07/Feb/2022:18:57:18 +0000] "GET /about HTTP/1.1" 200 14772 "-" "curl/7.79.1" "-" 172.17.0.1 - - [07/Feb/2022:18:57:19 +0000] "GET /xhr/header HTTP/1.1" 200 147 "http://192.168.1.8:7777/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 172.17.0.1 - - [07/Feb/2022:18:57:21 +0000] "GET /xhr/header HTTP/1.1" 200 147 "http://192.168.1.8:7777/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 172.17.0.1 - - [07/Feb/2022:18:57:23 +0000] "GET /xhr/header HTTP/1.1" 200 147 "http://192.168.1.8:7777/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 127.0.0.1 - - [07/Feb/2022:18:57:23 +0000] "GET /about HTTP/1.1" 200 14772 "-" "curl/7.79.1" "-"

Additional info

Mosquitto broker logs: 1644259684: New connection from 192.168.1.8 on port 1883. {"result": "ok", "data": {}}1644259684: New client connected from 192.168.1.8 as DSMR-reader (p2, c1, k60, u'mqtt-user'). 1644259775: Client DSMR-reader has exceeded timeout, disconnecting.

xirixiz commented 2 years ago

Zelf heb ik mqtt nog niet gebruikt met deze setup, maar er zijn wel anderen waarbij het wel werkt. Misschien kan @dennissiemensma je in de juiste richting helpen om eea te onderzoeken.

TerrorSource commented 2 years ago

inmiddels stuurt DSMR-reader MQTT-berichten uit en zie ik ze in Mosquitto ook voorbij komen als "Listen to a topic" aanzet op "dsmr/day-consumption/electricity_merged" Resultaat: Message 7 received on dsmr/day-consumption/electricity_merged at 20:35: 7.629 QoS: 0 - Retain: false

Echter komt DSMR-reader nog niet als "device" zichtbaar in Mosquitto en zie ik ook geen entities in HA

dennissiemensma commented 2 years ago

@TerrorSource het is wat verwarrend wellicht, maar dat er 0 uitgaande MQTT-berichten staat is alleen maar goed nieuws, want dat betekent dat de uitgaande queue leeg is. Ik zal kijken of ik dat een keer wat kan verduidelijken.

Voor de rest kun je ofwel debug-logging in DSMR-reader aanzetten om te zien wat die doet, of gewoon een MQTT-client opstarten met een wildcard search op topics, om te zien wat er langs komt. Bijvoorbeeld met:

mosquitto_sub -d -t '#'

Zie ook https://github.com/dsmrreader/dsmr-reader/issues/1545#issuecomment-1003314909

TerrorSource commented 2 years ago

@dennissiemensma het is inmiddels gelukt en ik krijg de resultaten van alle mqtt aangevinkte databronnen in HomeAssistant. Enige wat ik nog niet snap is waarom ik het niet als "device" zie in Mosquitto binnen HA.

ik heb meteen alles voor mijzelf uitgeschreven wat ik heb gedaan. hiermee kunnen diegene die de docs beheren mogelijk wat toevoegen:

Docker - Synology Login via putty als user met admin rechten Sudo su (om naar root te wisselen) Voer uit: docker run -d --name dsmr --restart always -p 7777:80 -p 7779:443 -e DJANGO_TIME_ZONE=Europe/Amsterdam -e DJANGO_DATABASE_HOST=192.168.x.x -e DJANGO_DATABASE_PORT:3306 -e DJANGO_DATABASE_USER=dsmrreader -e DJANGO_DATABASE_PASSWORD=dsmrreader -e VIRTUAL_HOST=localhost --device /dev/ttyUSB0:/dev/ttyUSB0 xirixiz/dsmr-reader-docker

DSMR-reader webinterface:

  1. Dropbox configuratie doorlopen
  2. Weergegevensconfiguratie doorlopen
  3. Energieleverancier contract toevoegen

MQTT: MQTT Broker/verbinding: Inschakelen Hostname: homeassistant Poort: 1883 Beveiliging: onveilig Client-ID: DSMR-reader Gebruikersnaam: mqtt-user Wachtwoord: mqtt-password

Aanzetten:

HomeAssistant: File Editor: sensors.yaml Toevoegen: # dsmr reader - platform: dsmr_reader

Configuration > Devices> Mosquitto broker > configure Listen to a topic: dsmr/day-consumption/electricity_merged

Bij resultaat alle dsmr sensors toevoegen in gui.

Alle sensors in 1x zoeken:

Developer Tools > Template > toevoegen onderaan (niet opslaan): {%- for state in states -%} {%- if (state.entity_id.startswith('sensor.dsmr'))-%} {{state.entity_id}}, {%- endif -%} {%- endfor -%}

Onderste regel in Result type komen alle dsmr sensors. Wel comma seperated, dus splitsen naar nieuwe regels via notepad++ via CTRL+H > Replace , door \n

dennissiemensma commented 2 years ago

Bedankt voor je uitgebreide toevoeging! Ik kan je helaas niet helpen op gebied van HA, omdat ik dat zelf niet gebruik.

xirixiz commented 2 years ago

@dennissiemensma bedankt voor de toelichting/hulp. Zelf heb ik lang niets meer met MQTT gedaan maar ben wel actief met HASS en heeft @sanderdw een component gemaakt voor HASS. Ik zie dat je daarvan gebruik maakt, dus ik denk dat het beste is dat @sanerdw hier even hulp biedt, of dat je op de betreffende repository voor HASS een nieuw issue aanmaakt.

https://github.com/sanderdw/hassio-addons

sanderdw commented 2 years ago

@dennissiemensma het is inmiddels gelukt en ik krijg de resultaten van alle mqtt aangevinkte databronnen in HomeAssistant. Enige wat ik nog niet snap is waarom ik het niet als "device" zie in Mosquitto binnen HA.

@TerrorSource. Dus alles werkt eigenlijk maar je vraagt je alleen af waarom het geen 'device' wordt?

image

Ik denk dat het zo hoort (gebruik het zelf niet), ik neem aan dat je (https://www.home-assistant.io/integrations/dsmr_reader/) bedoeld? Dan is het volgens mij gewoon afhankelijk hoe die integratie is gemaakt. Je zou eventueel een 'issue' kunnen maken op het Home Assistant project aangezien het onderdeel is van HA zelf (https://github.com/home-assistant/core/commits/dev/homeassistant/components/dsmr_reader).

TerrorSource commented 2 years ago

Had het al gevraagd in de HomeAssistant discord en kreeg als antwoord "not everything publishes devices"

Issue kan dus gesloten worden, mogelijk kan iemand nog wel de docs/wiki aanpassen met stappen plan van mij hierboven?