iotux / ElWiz

ElWiz - a program to read data from Tibber Pulse and similar devices
MIT License
109 stars 16 forks source link

Mqtt auth virker ikke #14

Closed atxbyea closed 1 year ago

atxbyea commented 1 year ago

Hei.

Satt et par timer i går med elwiz for å få det til å spille i mitt miljø.

Er opsjoner for username \ password i config.yaml men disse fungerer ikke i min erfaring.

execer jeg inn i containeren og installerer mosquitto-clients så fungerer det helt fint med auth mot mqtt server, men hvis allow_anonymous er satt til false vil den aldri koble til brokeren (så aldri topics bli opprettet i broker, så heller aldri feilmelding i loggene til elwiz på dette, bare i mqtt loggen at connected -> disconnected (ikke auth fail error))

Skrur jeg på allow_anonymous til true kobler den til med en gang.

iotux commented 1 year ago

@atxbyea DISCLAIMER: Jeg er på langtidsferie i Asia med med en laptop og tidvis dårlig internett, langt vekk fra min mosquitto broker og Tibber Pulse. Dermed har jeg begrernsede muligheter for skikkelig testing. Det skal i teorien virke, men det betyr at du muligens/sannsynligvis må fikle litt for å få dette til å virke.

Jeg har gjort noen rettinger i koden og lastet opp både til github og dockerhub. Hvis du må bruke sudo når du kjører docker-kommandoer, så må du muligens bytte ~/docker/mqtt med absolutt path på kommandolinja når du henter og startre ElWiz (se nedenfor).

Legg dette til i ~/docker/mqtt/mosquitto.conf

password_file /mosquitto/password.txt
allow_anonymous false

Før du utfører kommandoen må du lage en tom fil

touch ~/docker/mqtt/password.txt

Deretter starter du denne:

docker run -d \
 --name mosquitto \
 --privileged \
 --privileged \
 --restart=unless-stopped \
 -e TZ=Europe/Oslo \
 -v ~/docker/mqtt/mosquitto.conf:/mosquitto/config/mosquitto.conf \
 -v ~/docker/mqtt/password.txt:/mosquitto/password.txt \
 -v ~/docker/mqtt:/mosquitto \
 --network=host \
 eclipse-mosquitto

Når det er gjort, så lager du bruker og passord

docker exec -it mosquitto mosquitto_passwd -c mosquitto/password.txt dittbrukernavn

Du blir deretter spurt om passord.

Når dette er gjort må mosquitto restartes.

docker restart mosquitto

atxbyea commented 1 year ago

Hei !

Er ikke problem med mqtt (jeg har 40+ devicer som snakker med mqtt med auth allerede) ;-)

Men elwiz + auth ser ut til å ikke fungere som tiltenkt, uten feilmeldinger i elwiz.

iotux commented 1 year ago

@atxbyea Sjekk at du har nyeste kode fra enten Github eller Dockerhub. Du kan verifisere ved å sjekke lokalt linje 33 i mqtt/mqtt.js username: skal ha bare lowercase bokstaver (rettet fra "userName:"). image