Pure Java library for Telldus

Moderator: Telldus

micke.prag
Site Admin
Posts: 2237
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Re: Pure Java library for Telldus

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Jag tycker det är ok att flytta Settings till Common. Det är en privat klass oavsett.
Tänk dock på att allt i client och common måste ligga i TelldusCore-namespacet. Detta eftersom binärerna laddas in i tredjepartsmjukvaran och namnen får ej kollidera.
Micke Prag
Software
Telldus Technologies

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by jstrom » Thu Jan 18, 2018 11:08 am

Okay! Då ska jag kolla på det vid tillfälle.. :)

Vad tyckts om övriga ändringarna?

Är det helt stop att få in det i master om det inte finns Windows-stöd för TCP? Då detta är en advanced-user-feature känns det inte kritiskt om det saknas i Windows, även om det är att föredra?

micke.prag
Site Admin
Posts: 2237
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Re: Pure Java library for Telldus

Post by micke.prag » Thu Jan 18, 2018 11:08 am

jstrom wrote:Vad tyckts om övriga ändringarna?
Jag har tyvärr inte hunnit detaljgranska.

Eftersom du exporterar fler publika funktioner kan vi tyvärr inte dra in det i master förrän APIt är helt spikat. Annars riskerar vi att bryta BC.
jstrom wrote:Är det helt stop att få in det i master om det inte finns Windows-stöd för TCP? Då detta är en advanced-user-feature känns det inte kritiskt om det saknas i Windows, även om det är att föredra?
Det är ok med funktioner som inte finns på alla plattformar. Dock är det inte ok att exportera funktioner som kan komma att ändras. Jag skulle föredra att inga nya funktioner exporterades.
Micke Prag
Software
Telldus Technologies

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by jstrom » Thu Jan 18, 2018 11:08 am

Nej, självklart måste det spikas innan det tas in i master :)

Dock exporterar jag bara en publik funktion i APIet? https://github.com/stromnet/telldus/com ... 1a4#diff-3 Annars är det bara interna förändringar. Client-klassen exporteras väl inte som jag förstått rätt?

Zapper
Posts: 212
Joined: Thu Jan 18, 2018 11:08 am
Location: Där det är kallt

Re: Pure Java library for Telldus

Post by Zapper » Thu Jan 18, 2018 11:08 am

Vad glad man blir ibland :D
Satt å modifierade nån annans JNA baserade wrapper för eget bruk å gillade inte att det kändes som om man tvingades programera imperativt i ett objektorienterat språk :S

Testa libbet å klistrade ihop med lite websocketssaker å det fungerade underbart, å eventlisteners var ju en barnlek om man läste koden dock var det inte så dokumenterat i Readmefilen.

Det här kommer man kunna ställa till med mycket dumheter i framtiden :D

Btw skulle vara värt om man kunde konfigurera (om jag inte missat det) grupper i tellstick.conf så att man kunde skicka ungefär samma signal som fjärrarna all off all on till en grupp. Som det är nu så tar det mellan 1-2 sekunder mellan varje brytare.

tex: tdtool --on 1 --on 2 --on 3 --on 4

i tellstick.conf
group {
gid = 1
members = 1,2,3,4
}

använda som: tdtool --group-on 1
sen får man göra nånting som hanterar vad som händer om man blandar dimbara och icke dimbara enheter.
typ om dimlevel > 50% slå även på on/off enheter.

micke.prag
Site Admin
Posts: 2237
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Re: Pure Java library for Telldus

Post by micke.prag » Thu Jan 18, 2018 11:08 am

Gruppstöd kom i version 2.1.0.

Exempel:

Code: Select all

device {
  id = 3
  name = "Grupp"
  protocol = "group"
  parameters {
    devices = "1,2"
  }
}
Micke Prag
Software
Telldus Technologies

Zapper
Posts: 212
Joined: Thu Jan 18, 2018 11:08 am
Location: Där det är kallt

Re: Pure Java library for Telldus

Post by Zapper » Thu Jan 18, 2018 11:08 am

micke.prag wrote:Gruppstöd kom i version 2.1.0.

Exempel:

Code: Select all

device {
  id = 3
  name = "Grupp"
  protocol = "group"
  parameters {
    devices = "1,2"
  }
}
Smidigt får testa det.

Zapper
Posts: 212
Joined: Thu Jan 18, 2018 11:08 am
Location: Där det är kallt

Re: Pure Java library for Telldus

Post by Zapper » Thu Jan 18, 2018 11:08 am

Testade det och det gav ingen skillnad i hastigheten ut från sändare. Dvs enheterna växlade inte samtidigt. :(

Zaman
Posts: 243
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by Zaman » Thu Jan 18, 2018 11:08 am

Så länge enheterna inte lyssnar på samma signal (är programmerade till att lyssna på samma adress) kommer du att få en fördröjning, detta pga att det finns en kort fördröjning mellan signalerna till resp enhet i grupplistan.
Anledningen till att man skickar signalerna med lite fördröjning mellan är att man inte vill att signalerna ska "krocka" så att mottagaren inte kan skilja dem åt och därmed inte reagera alls. Många enheter kräven en "tyst" period innan signalen och födröjningen löser det problemet.

Är det självlärande enheter av samma fabrikat (eller som kör samma protokoll) så kan du låta dem lyssna på en gemensam adress och då få en simultan reaktion.
De flesta enheter har minnesplats för flera adresser så du kan ha en gemensam och en som bara en specifik enhet lyssnar på och du behöver då inte använda dig av gruppfunktionaliteten.

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by jstrom » Thu Jan 18, 2018 11:08 am

Zapper: Kul att du har nytta av det! Har gjort lite uppdateringar ikväll, främst dokumentation.. ;)

Micke: Har börjat kolla lite på settings nu.. Frågan är, vill man dra över allting till common verkligen? Skall klientkoden ha tillgång till all device-config etc, när detta eg "bör" läsas ut genom telldusd? Det enda jag behöver för client är ju eg socket-endpoints.
Man skulle kunna göra en bas-version i common som har endast just socket-endpoints, och sen en service-version som ärver från basversionen, som även har device-bitarna?
Vill inte börja förändra alltför mycket innan jag vet vad ni tycker är OK.. :)

Ang API-changes, hade jag missuppfattat något med vad som exporteras? Jag har tolkat det som att endast är C-Apiet som exporteras, ej Client-klassen? Eller är det bara att det inte är dokumenterat någonstans att man kan använda den? Isf förstår jag invändningen. Annars är det bara tdInitWithSocketSpec som tillkommit, inget ändrat.

Mvh
Johan

micke.prag
Site Admin
Posts: 2237
Joined: Thu Jan 18, 2018 11:08 am
Location: Lund
Contact:

Re: Pure Java library for Telldus

Post by micke.prag » Thu Jan 18, 2018 11:08 am

jstrom wrote:Micke: Har börjat kolla lite på settings nu.. Frågan är, vill man dra över allting till common verkligen? Skall klientkoden ha tillgång till all device-config etc, när detta eg "bör" läsas ut genom telldusd? Det enda jag behöver för client är ju eg socket-endpoints.
Man skulle kunna göra en bas-version i common som har endast just socket-endpoints, och sen en service-version som ärver från basversionen, som även har device-bitarna?
Det är absolut en bra ide. Dock är settingsklassen relativt generell. libconfuse måste också initieras med strukturen för config-filen. Annars spottar den ut fel. Så bas-klassen måste ändå ha hela strukturen.
jstrom wrote:Ang API-changes, hade jag missuppfattat något med vad som exporteras? Jag har tolkat det som att endast är C-Apiet som exporteras, ej Client-klassen? Eller är det bara att det inte är dokumenterat någonstans att man kan använda den? Isf förstår jag invändningen. Annars är det bara tdInitWithSocketSpec som tillkommit, inget ändrat.
Det är endast c-apit som ska exporteras. Historiskt har även andra symboler funnits med av misstag ändå. Som ett extra skydd ska alla klasser som laddas in en annan process finnas i ett namespace.
Micke Prag
Software
Telldus Technologies

Zapper
Posts: 212
Joined: Thu Jan 18, 2018 11:08 am
Location: Där det är kallt

Re: Pure Java library for Telldus

Post by Zapper » Thu Jan 18, 2018 11:08 am

Zaman wrote:Så länge enheterna inte lyssnar på samma signal (är programmerade till att lyssna på samma adress) kommer du att få en fördröjning, detta pga att det finns en kort fördröjning mellan signalerna till resp enhet i grupplistan.
Anledningen till att man skickar signalerna med lite fördröjning mellan är att man inte vill att signalerna ska "krocka" så att mottagaren inte kan skilja dem åt och därmed inte reagera alls. Många enheter kräven en "tyst" period innan signalen och födröjningen löser det problemet.

Är det självlärande enheter av samma fabrikat (eller som kör samma protokoll) så kan du låta dem lyssna på en gemensam adress och då få en simultan reaktion.
De flesta enheter har minnesplats för flera adresser så du kan ha en gemensam och en som bara en specifik enhet lyssnar på och du behöver då inte använda dig av gruppfunktionaliteten.
Det lät som den helt klart enklaste lösningen, har dock inte flera slälvlärande för tillfället då alla utom en har lagt av :(

Förlåt om man är lite offtopic i tråden.

gein
Posts: 437
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by gein » Thu Jan 18, 2018 11:08 am

Inga nyheter på den här fronten? Jag har börjat titta mer på openhab nu som en central lösning i vårat kommande husbygge (eftersom den redan har stöd för både 1-wire och KNX) men det vore också trevligt med Tellstick-stöd, framför allt för att läsa av sensorer i mitt fall. Jag kan mycket väl tänka mig att lägga ner tid på detta på ett eller annat sätt. Men jag har inte mycket att bidra med vad gäller C och sockets.

jstrom
Posts: 36
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by jstrom » Thu Jan 18, 2018 11:08 am

gein wrote:Inga nyheter på den här fronten? Jag har börjat titta mer på openhab nu som en central lösning i vårat kommande husbygge (eftersom den redan har stöd för både 1-wire och KNX) men det vore också trevligt med Tellstick-stöd, framför allt för att läsa av sensorer i mitt fall. Jag kan mycket väl tänka mig att lägga ner tid på detta på ett eller annat sätt. Men jag har inte mycket att bidra med vad gäller C och sockets.
Hej,

nej tyvärr har jag inte fått gjort något överhuvudtaget med openhab. Har inte haft så mycket tid över (och deras tillkrånglade byggsystem har inte bättrat på min motivation precis). Har idag bara ett fåtal lampor på RF-brytare, och nästan endast tempmätare på 1W-nätet, så har inte riktigt motiveringen från det hållet heller. Får ta och bygga ihop lite RF/1W-styrda saker nån dag, så man kan få lite mer motivation.. ;)
Men om någon är sugen så är det ju självklart bara att köra på med den java-koden jag skrivit!

gein
Posts: 437
Joined: Thu Jan 18, 2018 11:08 am

Re: Pure Java library for Telldus

Post by gein » Thu Jan 18, 2018 11:08 am

jstrom wrote:
gein wrote:Inga nyheter på den här fronten? Jag har börjat titta mer på openhab nu som en central lösning i vårat kommande husbygge (eftersom den redan har stöd för både 1-wire och KNX) men det vore också trevligt med Tellstick-stöd, framför allt för att läsa av sensorer i mitt fall. Jag kan mycket väl tänka mig att lägga ner tid på detta på ett eller annat sätt. Men jag har inte mycket att bidra med vad gäller C och sockets.
Hej,

nej tyvärr har jag inte fått gjort något överhuvudtaget med openhab. Har inte haft så mycket tid över (och deras tillkrånglade byggsystem har inte bättrat på min motivation precis). Har idag bara ett fåtal lampor på RF-brytare, och nästan endast tempmätare på 1W-nätet, så har inte riktigt motiveringen från det hållet heller. Får ta och bygga ihop lite RF/1W-styrda saker nån dag, så man kan få lite mer motivation.. ;)
Men om någon är sugen så är det ju självklart bara att köra på med den java-koden jag skrivit!
Inte omöjligt att jag tar över. Vi får se. Jag hade iaf inga problem att få upp byggmiljön. För att vara en stor klump OSGi-projekt så gick det faktiskt oförskämt smidigt.

Post Reply