Implementera stöd för fler protokoll

Moderator: Telldus

penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Implementera stöd för fler protokoll

Post by penguin »

Hej!

Har en uppsättning X10 moduler från Marmitek sedan tidigare., bl.a en TM13 "Transciever Module" som lyssnar på 433.92 Mhz, läs mer på
http://www.marmitek.com/en/catalogus/pr ... roduct=297.

Kan man mha en TellStick sniffa trafik för att sen kunna skriva en drivrutin och erbjuda stöd för även denna produkt eller måste man ha mer avancerad utrustning?
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

hittade en protokollbeskrivning för trådlösa X10 moduler så man kanske inte ens behöver sniffa trafiken.

http://www.wgldesigns.com/protocols/w80 ... otocol.txt

Insåg också att jag nog redan vet svaret på min förra fråga. TellStick kan bara skicka signaler, inte ta emot, eller hur?
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

TellSticken kan bara skicka, ja. Oftast räcker det för att styra mottagarna. Det går säkert att styra även dina X10 mottagare med TellSticken.

Protokollet hjälper mycket när man ska sniffa sändare. Dock så är det bara pc->sändare som står specificerat. Inte sändare->mottagare så man måste nog "sniffa" ändå.
Micke Prag
Software
Telldus Technologies
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Vad väntar ni på?

Post by penguin »

Är fortfarande lite besviken att telldus inte lyckats implementera X10 protokollet än. Kanske kan detta fungera som en liten "spark i baken". Det finns massor av referenser till hur protokollet ser ut, gör en sökning på X10 RF protocol på google.

Här kommer några exempel på beskrivningar av protokollet:

http://davehouston.net/rf.htm
http://home.comcast.net/~ncherry/common/x10.rf.txt
http://www.camelspit.org/modified-x10-rf-transmitter/
http://forums.homeseer.com/showpost.php ... ostcount=2 "se bilaga X10 RF formats.pdf"

Vad väntar ni på? Vill ni inte sälja fler tellsticks? Tycker ni inte utnyttjar hela tellstickens potential.

Hjälper gärna till med verifiering om så behövs.
fredrik.gullberg
Site Admin
Posts: 285
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by fredrik.gullberg »

Stöd för X10 ser ut att komma i version 2 av vår mjukvara.
Har dessvärre inget releasedatum i dagsläget.
Fredrik Gullberg
Telldus Technologies
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Det var efterlängtat. Säg till om jag kan hjälpa till med något. Har några X10 moduler som jag skulle kunna testa med. Finns koden i svn redan nu?
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Ja, koden finns i svn. Vilken plattform kör du?
Micke Prag
Software
Telldus Technologies
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Just nu sitter tellsticken i en asus wl500g router som kör 2.4 kärnan men jag skulle kunna flytta över den till ngn annan dator med gento el. ubuntu.

Räcker det med att kompilera upp en ny version av rfcmd från svn eller är det ngn annan utility som används för X10?
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Bahh...... måste man installera hela QT uvecklingsmiljön numera för att kunna kompilera rfcmd? Vad är det för fel på gamla hederliga autotools? Keep it simple...

Ok, skall sluta gnälla. Någon aning vad man skall sätta FTD2XX_LIBRARY och FTDI_LIBRARY till för att göra cmake lite gladare, se nedan.

Build log:

Code: Select all

/var/tmp/trunk/telldus-core# cmake
Programmet "cmake" är för närvarande inte installerat.  Du kan installera det genom att ange:
sudo apt-get install cmake

/var/tmp/trunk/telldus-core# sudo apt-get install cmake

/var/tmp/trunk/telldus-core# cmake -DCMAKE_INSTALL_PREFIX=/var/tmp/
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
CMake Error at /usr/share/cmake-2.6/Modules/FindQt4.cmake:1472 (MESSAGE):
  Qt qmake not found!
Call Stack (most recent call first):
  driver/libtelldus-core/CMakeLists.txt:1 (FIND_PACKAGE)

/var/tmp/trunk/telldus-core# sudo apt-get install qt4-qmake

/var/tmp/trunk/telldus-core# cmake -DCMAKE_INSTALL_PREFIX=/var/tmp/
CMake Error at /usr/share/cmake-2.6/Modules/FindQt4.cmake:495 (MESSAGE):
  Could NOT find QtGlobal header
Call Stack (most recent call first):
  driver/libtelldus-core/CMakeLists.txt:1 (FIND_PACKAGE)

/var/tmp/trunk/telldus-core# sudo apt-get install libqt4-dev
Följande NYA paket kommer att installeras:
  comerr-dev libaudio-dev libglu1-mesa-dev libglu1-xorg-dev libkadm55 libkrb5-dev liblcms1-dev libmng-dev libphonon4 libpq-dev
  libqt4-assistant libqt4-dbus libqt4-designer libqt4-dev libqt4-help libqt4-network libqt4-opengl libqt4-opengl-dev libqt4-qt3support
  libqt4-script libqt4-scripttools libqt4-sql libqt4-sql-mysql libqt4-svg libqt4-test libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4
  libqtgui4 libsqlite0-dev libssl-dev libxmu-dev libxmu-headers libxt-dev phonon phonon-backend-gstreamer qt4-qtconfig

/var/tmp/trunk/telldus-core#  cmake -DCMAKE_INSTALL_PREFIX=/var/tmp/
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.5.0
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:
FTD2XX_LIBRARY
    linked by target "telldus-core" in directory /var/tmp/trunk/telldus-core/driver/libtelldus-core
    linked by target "tdtool" in directory /var/tmp/trunk/telldus-core/tdtool
FTDI_LIBRARY
    linked by target "find_telldus" in directory /var/tmp/trunk/telldus-core/rfcmd
    linked by target "rfcmd" in directory /var/tmp/trunk/telldus-core/rfcmd

-- Configuring incomplete, errors occurred!
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Ber om ursäkt för att jag besvarar mina egna inlägg. Tydligen fler som upptäckt att trunk inte går att kompilera. Var tvungen att ändra följande:

Code: Select all

 BUILD_LIBTELLDUS-CORE            OFF                                                                                                        
 BUILD_RFCMD_WITH_LIBFTDI         OFF                                                                                                        
 BUILD_TDTOOL                     OFF  
Men jag hittar inget X10 stöd i rfcmd:

Code: Select all

/var/tmp/trunk/telldus-core$ ./rfcmd/rfcmd --help
rfcmd v2.0.1 - Send RF remote commands
Usage: rfcmd DEVICE PROTOCOL [PROTOCOL_ARGUMENTS] 
	 DEVICE: /dev/ttyUSB[0..n]
	 PROTOCOLS: NEXA, SARTANO, WAVEMAN, IKEA
	 PROTOCOL ARGUMENTS - NEXA, WAVEMAN:
		HOUSE_CODE: A..P
		CHANNEL: 1..16
		OFF_ON: 0..1
	 PROTOCOL ARGUMENTS - SARTANO:
		CHANNEL: 0000000000..1111111111
		OFF_ON: 0..1
	 PROTOCOL ARGUMENTS - IKEA:
		SYSTEM: 1..16
		DEVICE: 1..10
		DIM_LEVEL: 0..10
		DIM_STYLE: 0..1
Copyright(C) Tord Andersson 2007


Hittar lite X10 referenser i .driver/libtelldus-core:

Code: Select all

/var/tmp/trunk/telldus-core# find . -exec grep -qi x10 {} \; -print | grep -v .svn
./driver/libtelldus-core/win/WinTypes.h
./driver/libtelldus-core/CMakeLists.txt
./driver/libtelldus-core/DeviceX10.cpp
./driver/libtelldus-core/Manager.cpp
./driver/libtelldus-core/DeviceX10.h
Antar att man måste ha satt "BUILD_LIBTELLDUS-CORE" till "ON" för att få ta del av dessa eller? Jag får då problemet med FTD2XX_LIBRARY.

Code: Select all

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:
 FTD2XX_LIBRARY
Idéer? Tips och instruktioner på hur man kompilerar och testar x10 stödet mottages tacksamt.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

rfcmd har inte stöd för X10. Det är ändast telldus-core tillsammans med tdtool som har det stödet. Tänk dock på att telldus-core ännu inte har släppts officiellt och api, konfigfiler och liknande kan ändras utan förvarning.

Vilken plattform bygger du på?
Kravet för FTDI_LIBRARY försvinner med:
BUILD_FRCMD_WITH_LIBFTDI OFF

Kravet för FTD2XX_LIBRARY försvinner med:
SUPPORT_USB OFF
SUPPORT_TELLSTICK_DUO OFF

Bygger du för linux och sätter
USE_QT_SETTINGS_BACKEND OFF
kommer inte Qt att behövas, dock kommer CMake fortfarande att leta efter det. Istället behövs libconfuse för konfigurationen.
Micke Prag
Software
Telldus Technologies
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Har nu lyckats få igenom kompileringen men behövde även installera libconfuse först.

Code: Select all

/var/tmp/trunk/telldus-core# apt-get install libconfuse-dev

Men det är med andra ord kört att köra tellsticken på sin lilla router längre? Finns ingen chans i världen att få både Glib, QtCore och övriga beroenden till nya tdtool:

Code: Select all

/var/tmp/trunk/telldus-core# ldd ./tdtool/tdtool 
	linux-gate.so.1 =>  (0xb80de000)
	libtelldus-core.so.2.0.0 => /var/tmp/trunk/telldus-core/driver/libtelldus-core/libtelldus-core.so.2.0.0 (0xb80b4000)
	libQtCore.so.4 => /usr/lib/libQtCore.so.4 (0xb7e5f000)
	libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7e45000)
	libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7e41000)
	libconfuse.so.0 => /usr/lib/libconfuse.so.0 (0xb7e37000)
	libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xb7d48000)
	libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7d22000)
	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb7d12000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7baf000)
	libz.so.1 => /lib/libz.so.1 (0xb7b99000)
	libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0xb7b93000)
	librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7b8a000)
	libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0xb7ad2000)
	/lib/ld-linux.so.2 (0xb80df000)
	libpcre.so.3 => /lib/libpcre.so.3 (0xb7a9f000)
Är detta verkligen genomtänkt?

För mig tappar man själva poängen med tellsticken om man nu kräver en stor dator som skall stå och brumma 24/7. Tanken jag har är att använda den för att spara energi, därför sitter den i lilla routern som ändå alltid är i gång (drar ca. 5 W). Sedan så är det ett enkelt cronjobb som sköter belysningen, baserat på beräknat värde på soluppgång och solnedgång. Enkelt men tillräckligt.

rfcmd var litet och enkelt och utan externa beroenden. Jämför:

Code: Select all

/var/tmp# ldd trunk/telldus-core/rfcmd/rfcmd
	linux-gate.so.1 =>  (0xb80a6000)
	libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7f2d000)
	/lib/ld-linux.so.2 (0xb80a7000)
Det finns ingen möjlighet att istället skriva X10 delen i C och använda den logiken i både rfcmd och det nya tdtool? Möjligen använda uCLibc istället för Glib och QtCore om det verkligen behövs.

Glöm inte bort oss som vill fortsätta köra tellsticken på våra "embedded devices" såsom wrt54g, wl500g etc.

Hur som helst.. jag lovade testa X10 stödet. Återkommer om några dagar när jag hunnit prova lite olika X10 prylar.
micke.prag
Site Admin
Posts: 2243
Joined: Fri Mar 17, 2023 9:45 am
Location: Lund
Contact:

Post by micke.prag »

Åter igen så är inte 2.0 släppt ännu. QT-stödet ska vara möjligt att konfigurera bort. Kravet till libconfuse känns inte omöjligt att få in på embedded devices.
Micke Prag
Software
Telldus Technologies
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Jag måste vara helt blind men var kan jag hitta hur man lägger till en device? Antar att det är i /etc/tellstick.conf. Finns det någon beskrivning av syntaxen på denna, kanske en exempel-fil med lite nexa och x10 moduler inlagda? Eller finns motsvarande TelldusSetup till Linux?
penguin
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Post by penguin »

Ok jag provar mig fram i brist på dokumentation. Just nu kör jag med

Code: Select all

/var/tmp/trunk$ cat /etc/tellstick.conf 
deviceNode = "/dev/ttyUSB0"
device {
  id = 1
  name = "Hall"
  protocol = "arctech"
  model = 9
  parameters {
    nexa_house = "O"
    nexa_unit = "2"
  }
}
Jag lyckas visserligen tända och släcka en nexa device men programmet krashar..

Code: Select all

/var/tmp/trunk$ ./telldus-core/tdtool/tdtool  -n 1
tdtool: confuse.c:1447: cfg_opt_print_indent: Försäkran "opt && fp" falsk.
Turning on device 1, HallAvbruten (SIGABRT)

Om ni kunde ge lite mer instruktioner så på hur man använder det nya X10 stödet så vore det mycket värt. Det tar mycket extra tid att försöka läsa sig till i källkoden hur man använder det.

Skulle ni kunna ge ett exempel på hur man konfiguerar och använder det nya X10 stödet i linux?
Post Reply