Installationsanvisning

Moderator: Telldus

Jaxån
Posts: 199
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by Jaxån »

Borde kanske lägga in dessa i Wikin för att visa hur man kompilerar från källkoden till egna arkitekturer för Debian och Debian-baserade distributioner.
Sedan så borde ni lägga till de tre saknade build-dependencies som saknas, så att de inte behöver installeras manuellt när man bygger paketen.

http://www.telldus.com/forum/viewtopic. ... 986#p13857

/Jaxån
look2
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by look2 »

Vet inte hur gammal denna tråd är då alla inlägg är från den 18:e januari 2018,
Men går detta att installera på ubuntu 18.04?
Får följande fel när jag försöker:

look2@homeassist:/home/homeassistant$ sudo apt-get install telldus-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
telldus-core : Depends: libconfuse0 (>= 2.5) but it is not installable
hazzem
Posts: 13
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by hazzem »

Hej på er!

Jag får samma fel som look2 när jag försöker installera tellstick-core från command line på Ubuntu 18.04 enligt anvisningarna på sidan:
http://developer.telldus.se/wiki/TellSt ... tionUbuntu

Det fungerar inte!

Code: Select all

$ sudo apt-get install telldus-core
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
telldus-core : Depends: libconfuse0 (>= 2.5) but it is not installable
Har letat lite och hittade länkar hur man kunde kompliera om telldus-core själv, men eftersom jag inte är någon expert på Ubuntu ännu så kunde jag inte lösa det själv.
https://community.home-assistant.io/t/h ... uo/4346/11

Nedan är ett script för att återskapa det felet som jag får samt felmeddelandet:

Code: Select all

$ echo 'int main() { return 0; }' | gcc -xc  -
/usr/lib/gcc/x86_64-linux-gnu/7/../../../x86_64-linux-gnu/Scrt1.o: In function `_start':
(.text+0x12): undefined reference to `__libc_csu_fini'
(.text+0x19): undefined reference to `__libc_csu_init'
collect2: error: ld returned 1 exit status
Det bästa vore ju om jag kunde installera telldus-core direkt via apt-get utan att behöva kompilera och dona en massa! Det fungerade ju finemang på Ubuntu 16.04 och jag har ingen lust att backa tillbaka nu.

Tacksam för hjälp omgående då det är mörkt hemma nu... :(

mvh
/Hazze
hazzem
Posts: 13
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by hazzem »

Ok, kom förbi felet ovan genom att helt otippat göra:

Code: Select all

$ sudo apt-get remove libc6-dev
$ sudo apt-get install libc6-dev
Nu nästa problem när jag kompilerar:

Code: Select all

$ sudo apt-get --compile source telldus-core
   ...
Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
-- Checking for one of the modules 'libftdi'
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
FTDI_LIBRARY
    linked by target "telldusd" in directory /home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/service
   ...
Letar vidare...
================================
Fortsätter i denna post. Kom vidare igen genom att installera dessa för Doxygen resp. dot samt libftdi-dev:

Code: Select all

$ sudo apt-get install doxygen
$ sudo apt-get install graphviz -y 
$ sudo apt-get install libftdi-dev
Tog helt sonika bort Doxygen genereringen för nu för att komma vidare...

Så till nästa problem vid kompileringen:

Code: Select all

 sudo apt-get --compile source telldus-core
   ...
[ 62%] Building CXX object service/CMakeFiles/telldusd.dir/ProtocolIkea.cpp.o
cd /home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/build/service && /usr/bin/c++  -DLIBFTDI -DVERSION=\"2.1.2\" -D_CONFUSE -D_LINUX -I/home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2 -I/home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/build/service  -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG   -o CMakeFiles/telldusd.dir/ProtocolIkea.cpp.o -c /home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/service/ProtocolIkea.cpp
/home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/service/ProtocolIkea.cpp: In member function ‘virtual std::__cxx11::string ProtocolIkea::getStringForMethod(int, unsigned char, Controller*)’:
/home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/service/ProtocolIkea.cpp:26:27: error: narrowing conversion of ‘170’ from ‘int’ to ‘char’ inside { } [-Wnarrowing]
  const char B0[] = {170, 0};
                           ^
service/CMakeFiles/telldusd.dir/build.make:665: recipe for target 'service/CMakeFiles/telldusd.dir/ProtocolIkea.cpp.o' failed
make[3]: *** [service/CMakeFiles/telldusd.dir/ProtocolIkea.cpp.o] Error 1
make[3]: Leaving directory '/home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/build'
CMakeFiles/Makefile2:143: recipe for target 'service/CMakeFiles/telldusd.dir/all' failed
make[2]: *** [service/CMakeFiles/telldusd.dir/all] Error 2
make[2]: Leaving directory '/home/hazze/tellstick/telldus-temp/telldus/telldus-core-2.1.2/build'
Makefile:143: recipe for target 'all' failed
    ...
Hoppas på att någon vänlig själ kan hjälpa mig reda ut hur jag får allt att kompilera! :)
hazzem
Posts: 13
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by hazzem »

Jag lyckades till slut installera med libconfuse2 men det gick ändå inte att starta upp telldus-core:

Code: Select all

$ /usr/sbin/telldusd  --nodaemon
telldusd daemon starting up
internal error in cfg_init_defaults(user)
FILE:1: internal error in cfg_setopt(user, [b]nobody[/b])
Unable to parse config file, /etc/tellstick.conf
internal error in cfg_init_defaults(device)
[b]Group  could not be found[/b]
Det var himla konstigt att nobody lästes in från filen men group ville inte alls följa med! Eftersom jag använde exakt samma konfiguration som innan jag uppgraderade servern så var det inte så troligt att det faktiskt var fel på själva konfigurationsfilen.

Drog iväg ett mail till supporten och hoppades på att få lite vägledning...

==========================

Ok, så nu har jag fått lite guidning av den snabba och hjälpsamma supporten på Telldus och delar med mig av hur jag fick det att fungera med Ubuntu 18.04.2 LTS. Här följer snabbsammanfattningen!

Jag slapp kompilera om allt enligt tidigare inlägg och började om genom att istället utgå ifrån följande guide:
https://antonneld.wordpress.com/2018/04 ... x-in-2018/

Eftersom jag kör Ubuntu 18.04 så är libconfuse2 standard, men det visar sig att den inte är kompatibel med libconfuse1 som telldus-core använder sig av för att parsa konfigurationsfilerna. Så lösningen blir att avinstallera libconfuse-common och libconfuse2 och sedan ladda hem och installera en tidigare version av libconfuse-common och libconfuse1 istället. Då fungerar det igen på samma sätt som det gjorde med den tidigare Ubuntu 16.04 som jag körde innan. Till sist så behövde man även göra apt-mark hold så att inte Ubuntu rullar fram uppdateringen till den senare versionen av libconfuse igen.

https://answers.launchpad.net/ubuntu/ar ... 3.0+dfsg-1
https://answers.launchpad.net/ubuntu/bi ... ibconfuse1

Code: Select all

$ sudo dpkg -i libconfuse-common_3.2+really3.0+dfsg-1_all.deb
$ sudo dpkg -i libconfuse1_3.2+really3.0+dfsg-1_amd64.deb*
$ sudo dpkg --ignore-depends=libconfuse0 -i telldus-core_2.1.2-1_amd64.deb
$ cd /usr/lib/x86_64-linux-gnu/
$ sudo ln -s libconfuse.so.1 libconfuse.so.0
$ sudo emacs /var/lib/dpkg/status
  och sök upp telldus-core och ändra till "libconfuse1 (>=3.0)" och spara.
$ sudo apt --fix-broken install
$ apt-mark hold libconfuse1
$ apt-mark hold telldus-core
  Testa att det fungerar med din konfiguration (id:t beror ju på vad du har för enheter i filen):
$ tdtool --on 1
Tusen tack för all hjälp! Och hoppas att detta kan vara till hjälp för någon annan med samma problem.

/Hazze
Jaxån
Posts: 199
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by Jaxån »

Det korrekta är ju naturligtvis att fixa buggen i källkoden. Dvs att koda för den nya versionen av biblioteket.

Jag kan inte C++ och cmake, så jag kan tyvärr inte fixa detta.

/Jackson
Jaxån
Posts: 199
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by Jaxån »

Om nu telldus has slutat supporta linux med sin programvara, finns det någon fork som fungerar?

Som det är nu så har de ju inte stöd för de moderna versionerna av programbibliotek, och det är problem att generera dokumenationen.

Så, &TLDR; Finns det någon fungerande fork av telldus programvara?
jato
Posts: 7
Joined: Fri Mar 17, 2023 9:45 am

Re: Installationsanvisning

Post by jato »

Jag har använt Hazzes tips här ovan varje gång jag installerat om servern hemma och tellstick slutat funka, stort tack för det!

Idag tröttnade jag dock på att göra det varje gång så försökte få till en docker image så jag slipper all handpåläggning varje gång.

https://github.com/jatocode/telldusdocker

Hämtar man hem det där, lägger in sin egen tellstick.conf och bygger sin image så borde det fungera för alla.
Med lite tweaks på vilka binärer man behöver så skulle man nog lätt kunna använda samma på RPi också.

Prova gärna, hoppas jag kan hjälpa någon annan. Och tack igen Hazze för instruktionerna.
Post Reply