Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Homely integration


kolaf

Anbefalte innlegg

Stemmer.

 

@SumMarius, under er config for min container som fungerer utmerket i Unraid.

MQTT_HOST er en Mosquitto-instans som jeg har gående som plugin i HA.

 

I tillegg har jeg en fil "default.yaml" som ligger i appdata/homely-mqtt med følgende innhold:

 

database:
  logLevel: debug
  reset: true
  connection:
    username: user
    password: password
    storage: ./__data/db.sqlite
    host: localhost
    dialect: sqlite

mqtt:
  enabled: true
  qos: 1
  host: mqtt://192.168.2.12:1883
  user: xxxxx

homely:
  host: sdk.iotiliti.cloud

# One of: error, warn, info, verbose, debug, silly. Defaults to info if not provided.
logLevel: debug

polling:
  # Crontab schedule for polling via rest. Websocket is always connected, so this is just meant as a fallback.
  # If not specified, defaults to every 30 minutes
  schedule: "*/5 * * * *"


 

 

 

image.thumb.png.3c71605c9276c434f55fe1de43b720f1.png

 

 

  • Like 1
Lenke til kommentar
Del på andre sider

LØST: Har noen klart å sette opp homely-mqtt inne i HA eller på Unraid? Jeg får ikke til dette.

 

Dette løste det for meg. Tusen takk @BalleClorin og @Ronniehl. Da må jeg bare finne ut hvordan jeg får koblet ting riktig i Home Assistant. Edit: Enkelt....Enhetene faller inn en etter en.

Endret av SumMarius
  • Like 2
Lenke til kommentar
Del på andre sider

  • 5 uker senere...
Ronniehl skrev (På 14.8.2023 den 10.16):

 

Docker eller node nå, men må kjøres som ekstern tjeneste. Jeg har lite erfaring med python, og jeg har allerede drøssevis av custom integrasjoner jeg har laget selv som kjøres i docker, så det ble den enkleste løsningen for min del. 

 

Edit:

Ser for meg å bygge den som en addon etterhvert, det vil forenkle prosessen for de som kjører på rpi og andre installasjoner med addon-store. Jeg har bare ikke mulighet til å teste det siden min installasjon kjører i, you guessed it, docker 😅

Si ifra hvis du vil ha noen til å teste addon, jeg har nettopp bestilt Homely-pakke. Gikk for Homely over Atlo til tross for litt dyrere månedspris, nettopp på grunn av API-et og muligheten for sanntidsinfo fra sensorene. Orker ikke dobbelt opp med sensorer.

Lenke til kommentar
Del på andre sider

  • 2 uker senere...
BalleClorin skrev (På 23.8.2023 den 9.22):

Stemmer.

 

@SumMarius, under er config for min container som fungerer utmerket i Unraid.

MQTT_HOST er en Mosquitto-instans som jeg har gående som plugin i HA.

 

I tillegg har jeg en fil "default.yaml" som ligger i appdata/homely-mqtt med følgende innhold:

 

database:
  logLevel: debug
  reset: true
  connection:
    username: user
    password: password
    storage: ./__data/db.sqlite
    host: localhost
    dialect: sqlite

mqtt:
  enabled: true
  qos: 1
  host: mqtt://192.168.2.12:1883
  user: xxxxx

homely:
  host: sdk.iotiliti.cloud

# One of: error, warn, info, verbose, debug, silly. Defaults to info if not provided.
logLevel: debug

polling:
  # Crontab schedule for polling via rest. Websocket is always connected, so this is just meant as a fallback.
  # If not specified, defaults to every 30 minutes
  schedule: "*/5 * * * *"


 

 

 

image.thumb.png.3c71605c9276c434f55fe1de43b720f1.png

 

 

Har gjort det akkurat som deg @BalleClorin. Men får kun 4 enheter inn i HA. Ikke skjedd noe mer siden igår.. Noen tips til hva jeg kan sjekke? Har restartet docker i unraid, mqtt broker og HA image.thumb.png.fcfa77416a28fd7e0c9352489c7f2622.pngimage.thumb.png.e8f2b326877a90b4bec29a62007d7425.png

Endret av Teryeah
Lenke til kommentar
Del på andre sider

On 04/10/2023 at 23:04, Teryeah said:

Har gjort det akkurat som deg @BalleClorin. Men får kun 4 enheter inn i HA. Ikke skjedd noe mer siden igår.. Noen tips til hva jeg kan sjekke? Har restartet docker i unraid, mqtt broker og HA 

 

Har du sjekket om det kommer flere enheter inn på mqtt-brokeren med f.eks mqtt explorer?

Lenke til kommentar
Del på andre sider

Ronniehl skrev (2 timer siden):

 

Har du sjekket om det kommer flere enheter inn på mqtt-brokeren med f.eks mqtt explorer?

Hei.

 

Den viser at det er 12 enheter.

 

Har også forsøkt å slette enhetene og installert ny installasjon av docker og det er fortsatt kun de samme 4 enhetene som kommer inn igjen da,

 

configen min ser slik ut: 

database:
  logLevel: debug
  reset: true
  connection:
    username: user
    password: password
    storage: ./__data/db.sqlite
    host: localhost
    dialect: sqlite

mqtt:
  enabled: true
  qos: 1
  host: mqtt://192.168.68.113:1883
  user: teryeah

homely:
  host: sdk.iotiliti.cloud

# One of: error, warn, info, verbose, debug, silly. Defaults to info if not provided.
logLevel: debug

polling:
  # Crontab schedule for polling via rest. Websocket is always connected, so this is just meant as a fallback.
  # If not specified, defaults to every 30 minutes
  schedule: "*/5 * * * *"

 

image.thumb.png.17f7f6c345c0717016f504ece9e6657b.png

 

Lenke til kommentar
Del på andre sider

3 hours ago, Teryeah said:

Hei.

 

Den viser at det er 12 enheter.

 

Har også forsøkt å slette enhetene og installert ny installasjon av docker og det er fortsatt kun de samme 4 enhetene som kommer inn igjen da,

 

configen min ser slik ut: 

database:
  logLevel: debug
  reset: true
  connection:
    username: user
    password: password
    storage: ./__data/db.sqlite
    host: localhost
    dialect: sqlite

mqtt:
  enabled: true
  qos: 1
  host: mqtt://192.168.68.113:1883
  user: teryeah

homely:
  host: sdk.iotiliti.cloud

# One of: error, warn, info, verbose, debug, silly. Defaults to info if not provided.
logLevel: debug

polling:
  # Crontab schedule for polling via rest. Websocket is always connected, so this is just meant as a fallback.
  # If not specified, defaults to every 30 minutes
  schedule: "*/5 * * * *"

 

 

 

 

Kan du se om det ligger noe i home assistant loggen? Kan virke som den ikke plukker opp entitetene 🤔

Lenke til kommentar
Del på andre sider

Ronniehl skrev (3 timer siden):

 

Kan du se om det ligger noe i home assistant loggen? Kan virke som den ikke plukker opp entitetene 🤔

Hva skal jeg se etter? 😛 og hvor skal jeg lete? ser ingenting i loggene hvor det ser ut som det er noe feil. Men det ser ut som det kommer to tilkoblinger fra unraid.. med forskjellige brukernavn. Har bare skrevet ett av de i config 

 

Edit: fant mer i loggen. Ser ut som mqtt broker hvertfall abbonnerer på alle enhetene:image.thumb.png.0fde37231250463dd2d536326f404637.png

image.thumb.png.0f79bbed0c5e4c68fa759bf006fd607c.png

Endret av Teryeah
mere fra logg
Lenke til kommentar
Del på andre sider

1 hour ago, Teryeah said:

Hva skal jeg se etter? 😛 og hvor skal jeg lete? ser ingenting i loggene hvor det ser ut som det er noe feil. Men det ser ut som det kommer to tilkoblinger fra unraid.. med forskjellige brukernavn. Har bare skrevet ett av de i config 

 

Edit: fant mer i loggen. Ser ut som mqtt broker hvertfall abbonnerer på alle enhetene:

 

Hvis du går til https://din-homeassistant-url/config/logs, og søker etter mqtt, så kan det ligge noe i loggen der. 🙂

 

edit: så du fikk det til akkurat nå 😅

Endret av Ronniehl
Lenke til kommentar
Del på andre sider

Ronniehl skrev (1 minutt siden):

Hvis du går til https://din-homeassistant-url/config/logs, og søker etter mqtt, så kan det ligge noe i loggen der. 🙂

 

edit: så du fikk det til akkurat nå 😅

Var egentlig bare tilfeldig 😄 måtte bare forsøke litt forskjellig, for jeg ble ikke klok på noenting 😛

 

Lenke til kommentar
Del på andre sider

Ronniehl skrev (På 8.10.2023 den 0.10):

Overraskende ofte svaret på det meste det 😆 bra du fikk orna det!

@Ronniehl

 

Om jeg forsøker å legge inn RingMqtt igjen så sliter homely-enhetene med å oppdatere status. Så det må være ett eller annet mellom din docker of den som driver å krangler.

Lenke til kommentar
Del på andre sider

  • 2 uker senere...
8 hours ago, olloe said:

Er det fremdeles en tanke om å gjøre dette tilgjengeligvia hacs eller bør jeg bare krype til korset og lese meg opp så jeg får kjørt det ved siden av?

 

Det er enda planen ja. Jeg har bare ikke fått tid til å sette opp en raspberry pi her hjemme å teste med, men håper å få begynt å se på det om ikke altfor lenge. 🙂

Lenke til kommentar
Del på andre sider

  • 2 uker senere...

Jeg stusser litt på dette docker-opplegget du har valgt. Kjører en docker pull, legger config filen der den skal være iflg. compose-filen, men ser det er mange environment-variabler du har hardkodet i compose-filen i stedet for å la være variabler som hentes fra config. Kan ikke skjønne at det der mulig å kjøre denne fra docker image. Hvis meningen er at alle må bygge basert på compose-filen, hvorfor legge den ut på docker hub som et image?

Lenke til kommentar
Del på andre sider

9 hours ago, gert said:

Jeg stusser litt på dette docker-opplegget du har valgt. Kjører en docker pull, legger config filen der den skal være iflg. compose-filen, men ser det er mange environment-variabler du har hardkodet i compose-filen i stedet for å la være variabler som hentes fra config. Kan ikke skjønne at det der mulig å kjøre denne fra docker image. Hvis meningen er at alle må bygge basert på compose-filen, hvorfor legge den ut på docker hub som et image?

 

Du kan sende variablene enkelt inn til docker run også. Enten med en .env fil, eller i run kommandoen. Kunne selvsagt også lagt dem inn i configfilen, men liker ikke brukernavn/passord i filer som sendes inn.. 

Quote

docker run --env-file=sti/til/.env

Eller

Quote

docker run -e MQTT_HOST=12345 -e MQTT_USERNAME=blabla ....

 

Lenke til kommentar
Del på andre sider

Takk, jeg er ikke så kjent med docker, de mgangene jeg dessverre må forholde meg til det, er jeg stort sett vant til at de kommer med alle filene i en github, så man bare gjør en git pull, og fyller inn  compose-filen selv. Mulig jeg heller bare prøver å kjøre node-prosjektet direkte, siden jeg fant githuben din. Da kan jeg kanskje kjøre det direkte på TrueNAS-serveren også, og slipper å prøve meg frem med å få det inn som en container i Home Assistant.

Lenke til kommentar
Del på andre sider

1 hour ago, gert said:

Takk, jeg er ikke så kjent med docker, de mgangene jeg dessverre må forholde meg til det, er jeg stort sett vant til at de kommer med alle filene i en github, så man bare gjør en git pull, og fyller inn  compose-filen selv. Mulig jeg heller bare prøver å kjøre node-prosjektet direkte, siden jeg fant githuben din. Da kan jeg kanskje kjøre det direkte på TrueNAS-serveren også, og slipper å prøve meg frem med å få det inn som en container i Home Assistant.

Np! Om du synes det er lettere å kjøre node direkte er det ingenting i veien for å gjøre det nei! Docker / compose er bare for enkelthets skyld siden det er en grei "standard" som mange har ett forhold til 🙂

Lenke til kommentar
Del på andre sider

Så, dette fikk jeg først opp og gå uten docker. Så fikk jeg til å pakke det som en home-assistant local addon, som både startet og listet opp alle sensorene mine. Etter å ha fjernet div debugging, tenkte jeg jeg skulle teste en siste gang før jeg delte den her, og nå virker det ikke lenger. Jeg får kun følgende feilmelding:

 

nodemon] 3.0.1
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: ts,json
[nodemon] starting `ts-node index.ts index.js`
(node:136) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
[21:38:49.844] INFO (136):
    topic: "homely/notice"
    message: "Homely is online"
[21:38:52.209] INFO (136): Starting service
[21:38:53.143] WARN (136): Application encountered a fatal error and will exit.
[21:38:53.143] ERROR (136): Invalid time value
    err: {
      "type": "RangeError",
      "message": "Invalid time value",
      "stack":
          RangeError: Invalid time value
              at Date.toISOString (<anonymous>)
              at Authentication.<anonymous> (/app/homely/auth.ts:31:9)
              at Generator.next (<anonymous>)
              at fulfilled (/app/homely/auth.ts:5:58)
              at processTicksAndRejections (node:internal/process/task_queues:95:5)
    }
[nodemon] clean exit - waiting for changes before restart

 

Dette var kun endringer i Dockerfile og run-scriptet i home assistant addon-en, og jeg jeg har vondt for å se at noe av det skulle forårsake denne feilen, men det er jo alltids litt spøkelser i maskineriet. Noen tips til hva dette kan være? Jeg forsøkte også å teste med test-sdk.iotiliti.cloud, men får samme feil. jeg ser funksjonen er i tilknytning til henting av token og kalkulering av utløpsdato(?) for denne.

 

Kan det være at denne funksjonen feiler fordi jeg f.eks. nylig hentet en token, før jeg slettet addon-en og installerte den på nytt for å teste endelig versjon (iny container)? En eller annen from for tidsbegrensning eller noe fra Homely, muligens.

 

edit: Får akkurat samme feil når jeg forsøker å legge inn helt feil passord. Så antar det er noe på Homelys side, mulig IP-addressen min ikke får lov å logge inn på en stund. 😛 har dobbeltsjekket at passordet er korrekt i hvert fall. Får se om jeg får tid til å kikke på det i morgen.

 

Ny edit: Det skyldtes antakelig noe tilgangsbasert. Nå er den oppe og går som addon, men ikke helt klar for prime time enda, den nekter å mate inn mer enn tre enheter. Fant du hva problemet ditt skydtes @Teryeah? Virker som du hadde samme issue. Jeg har ingen andre mqtt-addoner enn zigbe2mqtt, som jeg ser av loggen at du også hadde. Hos deg var det bare Ring-addonen som skapte problemer?

Endret av gert
tillegg
Lenke til kommentar
Del på andre sider

@gert Jeg fikk ingen feilmeldinger eller noe. Kun at alle enhetene ikke kom inn når Ring-mqtt addonen var installert. og når jeg reinstallerte ring-mqtt så sendte homely enhetene veldig sjeldent statusoppdateringer. Jeg tenkte å teste om jeg får det samme om jeg også legger inn ring-mqtt på unraid-serveren. Men har ikke fått somla meg til det enda.

Lenke til kommentar
Del på andre sider

Jeg har feilsøkt litt, og det viser seg at homely_mqtt kun sender en discovery message for tre enheter. jeg har sjekket med Mqtt explorer. Kun de tre enhetene det sendes en discovery message for, ukker opp i Home Assistant (logisk nok.

 

Jeg er usikker på hvorfor den bare sender en discovery message for tre enheter. Men dette var de tre første enhetene i dahsbordet i  Homely-appen, utover alarmentralen. Jeg er usikker på om det er tilfeldig, eller om det har en sammenheng. Å endre rekkefølge på enhetene i dashboard i appen har ikke noen effekt, så det kan hende det er en tilfeldighet. Jeg har forsøkt å slette innholdet i databasen i pluginen ( reset: true) og endog bygge pluginen på nytt, det er alltid de samme tre sensorene som dukker opp. Selv etter å ha endret navn på dem. Så et eller annet tyder på at den støter på en feil når den går gjennom listen over sensorer og skal lage discovery messages.

 

En annen bug: state option under topic prefixes i config-filen fungerer ikke. Dersom jeg setter en verdi her, publiserer den state messages under homeassistant topic, i stedet for homely-topic, og ikke til verdien jeg angir under state. Entity prefix fungerer imidlertid

 

Forøvrig publiseres state på alle sensorene tilsynelatende korrekt, og jeg kunne antakelig lagt de til manuelt i home assistant-konfigurasjonen, men det er veldig rart at den bare publiserer discovery message for tre enheter, når den publiserer state for alle. Noen spesielle debugging-steg jeg kan ta, @Ronniehl?

 

Et forbedringsforslag/ønske med det samme: Det er en fordel om state topic er navnet på enheten, ikke serienummeret(?). Det gjør både debugging og håndtering av enhetene lettere når man nøster i ting. I tillegg ser det ut til å være standard for andre mqtt-dingser, enten de kjører tasmota, openbeken eller kommer fra zigbee2mqtt.

Endret av gert
Lenke til kommentar
Del på andre sider

 

Jeg fant bug-en som gjør at state topic settingen ikke fungerer i discover.ts fra linje 11:

 

const configTopic =
  config.get<Config['mqtt']>('mqtt').topicPrefixes?.config ?? 'homeassistant';
const stateTopic =
  config.get<Config['mqtt']>('mqtt').topicPrefixes?.config ?? 'homely';

De henter samme verdi. Så hvis du setter dem, vil state topic også bli det samme som config topic. Men om du ikke setter dem, går de for defaultveriden (som er ulik).

 

Jeg snakker imidlrtid ikke typescript, og forstår ikke hvor det går galt i gjennomgangen av sensorer. Eller om det er der det går galt. Jeg sjekket loggen, og der så det ut som om det ble laget config-messages for flere enn de tre sensorene. Å poste de samme beskjedene til mqtt-brokeren igjen resulterer i at enhetene blir oppdaget (eller enheten, jeg testet kun med to entities.)

 

I og med at det hjalp for Teryeah å skru av Ringmqtt, lurt jeg litt på om det kan ha noe med at mqtt-brokere blir overbelastet å gjøre, men det er jo helt usannsynlig at dette skal skje etter akkurat tre config messages hver gang, og å skru av zigbee2mqtt hjalp heller ikke.

 

Jeg finner ikke noen måte å få detaljert nok debug-info ut, men dersom det skyldes en ovebrelastning et sted, er vel det mest sannsynlige er vel at QOS 2-prosedyren for mqtt-pakker med Publish - Publish received (PUBREC) - Publish released (PUBREL) - Publish complete (PUBCOMP) feiler, enten pga. en feil i pakken din Ronniehl, eller i mosquitto brokeren i repoet til home assistant. Det kaaaan jo være mosqutto-broker, men mulig det kan være noe i dett prosjektet som feiler også?

Lenke til kommentar
Del på andre sider

Andre enn meg som har problemer med APIet? Får logget inn. Får access token. Men ikke mere. F.eks:

 https://sdk.iotiliti.cloud/homely/locations --> status 500, response:  
{"statusCode":500,"message":"NatsError [TIMEOUT] - request: Timeout on topic homely.integration-api.user-location.list"}
ERROR:homely2mqtt:Error code 500s
Har kontaktet Homely support …

  • Sad 1
Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.