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

Anbefalte innlegg

Dette er en HS3 plugin for å kunne koble Adax varmeovner opp i HomeSeer. Testet med Adax Cleo varmeovn (HS3 i Windows).

 

HSPI_AdaxSeer_0011

 

Hvordan sette opp :

  • VIKTIG!!! Stopp Homeseer og ta en kopi av hele katalogen til Homeseer (normalt "c:\program files (x86)\Homeseer HS3" for Windows) og legg kopien på ett trygt sted i tilfelle du trenger å gå tilbake.
  • Pakk ut filen i din Homeseer katalog - pass på at du får følgende oppsett (katalogen "Homeseer HS3" skal inneholde 2 nye filer HSPI_AdaxSeer.exe og HSPI_AdaxSeer.exe.config, mens du i katalogen Homeseer HS3\bin og Homeseer HS3\html\images skal ha fått en ny underkatalog - AdaxSeer)  
  • Restart Homeseer
  • Gå inn på Homeseer->Plugins->Manage og trykk enable på AdaxSeer

 

Testet ok i HS3 (Windows)

Testet ok i HS4 (Linux og Windows) Takk til @Gjelsvik og @PCI

Kompatibel med Google Home

 

Hvordan sette opp mot Adax og i plugin

Spoiler

- Åpne Adax Wifi app på telefonen. Gå til Account.

- Gå til "Remote user client API" i "Third Party Integrations"

006-UserInfo.thumb.png.00ca5c8bd8a5fc33018ca44207300d48.png

- Trykk "Add Credential" og lag en api konto. Sett navn til hva du vil ("HomeSeer"?)

005-Create.png.e43838d84451459bc963b659b11c62b7.png

 

I plugin

001-GoToGeneralSettingsAdaxSeer.png.39441bf2d6eefd762eb991965f700b5f.png

- Åpne Plugins->AdaxSeer->General config

 

002-GeneralSetup.png.2ea088c694059143351e61ccf3757127.png

 

- I feltet "Adax client id" legger du inn Account Id som finnes på bunnen av Account/User informasjon fra Adax Wifi app (markert som 2 i bildet under).

 

006-UserInfo.thumb.png.00ca5c8bd8a5fc33018ca44207300d48.png

 

- I  feltet "Adax password" legger du inn det genererte passordet som du fikk da du laget API konto i Adax Wifi app.

- "Default time between check of cloud" er hvor ofte man skal hente ut data fra skytjenesten til Adax online API.

- Log level er hvor mye logging som skal gjøres. 

- Klikk på linken "Choose heaters here" eller velg fra menyen Plugin->AdaxSeer->Devices for å legge inn varmeovner (egentlig rom.

 

003-Devices.png.fc102bf8b7a27b339ca3b8b9e7a0ccb3.png

 

- Hvis du har satt opp korrekt så skal du få ut en liste over alle varmeovner. Du kan her klikke "Add" på de ovnene du vil legge inn i HomeSeer. Hvis det ikke er noen liste over ovner kan du prøve å klikke "Fetch data from Adax". 

 

- En varmeovn i HomeSeer skal se slik ut

004-CreatedDevice.thumb.png.d96e644080f79eb2e0ef4914d0782791.png

 

- HomeSeer plugin gir deg mulighet til å sette temperatur og slå av/på varmeovner. NB: Adax har laget det slik at hvis du har flere ovner i samme rom som du definerte i Adax Wifi app så vil du ved å skifte temperatur eller slå av på en ovn gjøre det samme for alle ovner i rommet. Grunnen til at jeg alikevel har delt det opp på de enkelte varmeovner er for å vise temperatur korrekt.

 

 

 

Endringer:

0.0.1.1 - Har nå noen sekunders forsinkelse for å få med flere kommandoer hvis det f.eks. kjøres fra en event. Vil også forsinke innsending for å unngå at Adax avviser med feilen Too many requests. Og ved feilen Too Many Requests vil kommando lagres ned lokalt og bli prøvd kjørt igjen etter ca 60 sekunder. Takk til @Go4ITog @Olex for testing.

0.0.1.0 - Fikset forhåpentligvis på ressursbruk. Cacher nå lokalt i plugin diverse info om benyttede HomeSeer devicer som bør gjøre den raskere og mindre ressurskrevende

0.0.0.3 - Mer logging 

0.0.0.2 - Mindre fix på config

0.0.0.1 - Første versjon

 

Endret av Guahtdim
ny versjon 0.0.1.1
  • Like 4
  • Thanks 3
Lenke til kommentar
Del på andre sider

  • 2 uker senere...
1 time siden, daniel.h.iversen skrev:

Jeg har fått tilbakemeldinger, fra de som bruker Home Assistant integrasjonen, på at det kan ta litt tid fra passordet er generert til det blir gyldig.

Det kan være men nå har det gått laaang tid.

 

1 time siden, Guahtdim skrev:

Det var rart. Har du mulighet til å teste over f.eks. Postman ?

Post med URL

https://api-1.adax.no/client-api/auth/token?grant_type=password&username=<din bruker id >&password=<det genererte passordet>

 

Jeg prøvde meg på dette:

        static void Main(string[] args)
        {
            string ID = "123456";
            string password = "kode_her";
            string API_URL = "https://api-1.adax.no/client-api/auth/token";

            WebClient client = new WebClient();

            var form = new NameValueCollection()
                {
                    {"grant_type", "password"},
                    {"client_id", ID},
                    {"client_secret", password},
                };

            var bytes = client.UploadValues(API_URL,"POST", form);
            var jsonContent = Encoding.ASCII.GetString(bytes);
            Token tok = JsonConvert.DeserializeObject<Token>(jsonContent);
            Console.ReadKey();
        }

 

... men får:

image.png

 

 

Skal prøve postman desktop nå, med webclient fikk jeg bare:

image.png

 

 

... men nå med Postman installert fikk jeg dette:

image.png

 

... som ser fornftig ut. Hva gjør jeg og plugin'en feil?

 

 

 

Lenke til kommentar
Del på andre sider

Jeg skjønner ikke hvorfor ikke plugin virker. Så langt er du den eneste som sliter. Det er fristende å tro at det er noe som skjer idet du limer inn variablene. Du kan prøve å lime de rett inn i ini-filen.

[Config]

ClientId=<din nummer id>

Password=<det genererte passordet>

 

Koden din feiler siden du legger med input som form values. Hvis du gjør det om til url-parameters (beholder de i url-strengen) så vil det fungere bedre.

 

Lenke til kommentar
Del på andre sider

21 minutter siden, Guahtdim skrev:

Hvis du gjør det om til url-parameters (beholder de i url-strengen) så vil det fungere bedre.

Det tenkte jeg også, men nei... :(

 

21 minutter siden, Guahtdim skrev:

[Config]

ClientId=<din nummer id>

Password=<det genererte passordet>

Har sjekket det, men finner ingen feil. Og har som sagt prøvd med flere koder.

 

 

En idé dog: Siden jeg har fått det til med postman, du har ikke et sted jeg bare kan lime inn hele JSON-svaret? ;) 

Lenke til kommentar
Del på andre sider

1 time siden, daniel.h.iversen skrev:

client_id skal være username, og client_secret skal være password

Ja...? Mener du variabelen eller innholdet?

 

De er deklarert over.

6 timer siden, Moskus skrev:

string ID = "123456"; string password = "kode_her";

 

Lenke til kommentar
Del på andre sider

  • 4 uker senere...
  • 3 uker senere...

Yes, dette fungerer. Hva har jeg oversett denne gangen? 🤪

 

TTT (ting tar tid) som en foreleser alltid sa, 27. oktober bodde jeg på hotell mens leiligheten ble pusset opp. ToDo-lista begynner heldigvis å krympe.

 

2. januar skrudde jeg på ovnen, fikk den på nett og inn i HS3 på 30 minutter.

 

Bakdelen er at det kun blir bruk for ovnen 4-5 netter hvert år, men pytt pytt.

 

Takk.

  • Like 1
Lenke til kommentar
Del på andre sider

  • 4 uker senere...
1 hour ago, Moskus said:

@Guahtdim, hvis du skulle kjede deg en kveld ("not bloody likely" sier du :P ), så kunne det vært greit med litt optimalisering... 

 

image.png

Optimalisere hva? Er det prossessortid brukt du tenker på? Eller er det noe annet som jeg ikke skjønner siden jeg er i hovedsak utvikler ikke drifter? 

Dere får sjelden bedre enn "it works for me" 😁

 

Lenke til kommentar
Del på andre sider

2 minutter siden, Guahtdim skrev:

Optimalisere hva? Er det prossessortid brukt du tenker på?

Bingo. 

 

Når det tar mer ressurser å kontrollere eller sjekke status på en ovn hvert annet minutt enn å drive et nettverk med nesten 140 noder, så kan det være at det brukes litt CPU unødvendig... ;) 

  • Haha 1
Lenke til kommentar
Del på andre sider

Akkurat nå, Guahtdim skrev:

Jeg har aldri gravd så mye i det siden min prod maskin ikke klager 😉

Maskinen min klager heller ikke. Det er det jeg som gjør. 😂

 

Seriøst, det går jo helt fint. Men bare noe å se på.

Spørsmål: Når du skal oppdatere devicer, scanner du gjennom hele HS for å finne dem?

Lenke til kommentar
Del på andre sider

2 minutes ago, Moskus said:

Maskinen min klager heller ikke. Det er det jeg som gjør. 😂

 

Seriøst, det går jo helt fint. Men bare noe å se på.

Spørsmål: Når du skal oppdatere devicer, scanner du gjennom hele HS for å finne dem?

Det ser ut som om du har truffet spikeren på hodet. Jeg må nok lage meg ett eller annet av caching som jeg setter imellom etter oppstart. Det burde gjøre ting litt enklere. Muligens lage meg mine egne "speilede" klasser med det av info som benyttes oftest. Da skulle vi nok få ned endel tidsforbruk.

Og så blir det å endre alle plugins jeg har laget så langt..... 

  • Like 1
Lenke til kommentar
Del på andre sider

  • Guahtdim endret tittelen til AdaxSeer 0.0.1.1

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.