TellstickDuo och callback via python

Moderator: Telldus

Post Reply
mnraspi
Posts: 6
Joined: Fri Mar 17, 2023 9:45 am

TellstickDuo och callback via python

Post by mnraspi »

Jag kör på en Raspberry Pi med version 2.1.1 av telldus core (installerad enligt denna elinux sida).
Vad jag kan se av denna sida så är det senaste versionen:


Försöker få igång exemplet callbacks.py med att fånga en fjärr-kontrolls tryckning eller sensor-event. Allt med Nexa utrustning.
För att hitta house/unit kod tar jag bort kommentarsmarkeringen och får ut raw data, i detta fallet Nexa modell PET-910 (tillsammans med lite annat som dyker upp):

Code: Select all

class:command;protocol:arctech;model:selflearning;house:10856146;unit:1;group:0;method:turnoff;
class:command;protocol:sartano;model:codeswitch;code:1111111011;method:turnoff;
class:command;protocol:everflourish;model:selflearning;house:6765;unit:1;method:turnoff;
class:command;protocol:arctech;model:selflearning;house:10856146;unit:1;group:0;method:turnoff;
class:command;protocol:sartano;model:codeswitch;code:1111111011;method:turnoff;
class:command;protocol:everflourish;model:selflearning;house:6765;unit:1;method:turnoff;
class:command;protocol:arctech;model:selflearning;house:10856146;unit:1;group:0;method:turnoff;
class:command;protocol:sartano;model:codeswitch;code:1111111011;method:turnoff;
class:command;protocol:everflourish;model:selflearning;house:6765;unit:1;method:turnoff;
class:command;protocol:arctech;model:selflearning;house:10856146;unit:1;group:0;method:turnoff;
class:command;protocol:sartano;model:codeswitch;code:1111111011;method:turnoff;
class:command;protocol:everflourish;model:selflearning;house:6765;unit:1;method:turnoff;
Därefter har jag provat alla varianter (enligt ovan) med att definiera den i /etc/tellstick.conf som här t.ex. där jag provat med housecode 6765/1 eller som här med10856146/1:

Code: Select all

device {
  id = 15
  name = "Nexa Remote-1"
  controller = 0
  protocol = "archtech"
  model = "selflearning"
  parameters {
    house = "10856146"
    unit = "1"
  }
}
Men jag får aldrig ut något händelse vid fjärrkontroll tryckning, utan hänger kvar i 'waiting for events'.

Om jag samtidigt kör tdtool --on i ett annat fönster mot andra definierade switchar så funkar det event hanteringen:

tdtool --on 10

Code: Select all

Waiting for events...
callback!
Received event for device 10

Jag har lusläst andra inlägg som berört detta och även studerat wiki sidan, men hittar inte felorsaken, som känns som om det har med tellstick.conf att göra.

Startar om tjänsten efter ändringar med:
sudo service telldusd restart

Alla tips mottages tacksamt!
mnraspi
Posts: 6
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by mnraspi »

Här är en uppdatering av min egen postning. Min work-around lösning blev att gå på raw-innehållet och att själv plocka ut det. In vackart, men det funkar för nu:

Code: Select all

def rawcallbackfunction(data, controllerId, callbackId, context):
   global house
   global action
   global unit
   
   global flagga
   global start
   
   raw1 = string_at(data) 
   
   house = raw1.split(";")[3].split(":")[1]
   # jag läser av 2 st Nexa remote en motion-sensor och en tryck-knapp
   if (house == "10856146" or house == "10866650" or house == "10397598" or house == "19626"):
       unit = raw1.split(";")[4].split(":")[1]
       action = raw1.split(";")[6].split(":")[1]
       # undvika en skur med events från samma sender inom en sek:
       if (flagga == 1 and (time.time() - start) > 1):
           start = time.time()
           flagga = 0
       if (flagga == 0):
           print datetime.datetime.now().time(), " hanterar: ", house, unit, action
           # här kallar vi på det skall ske....
Jag skulle fortfarande vilja förstå varför min remote inte läses trots att den finns i tellstick.conf.

Någon som vet om version 2.1.2 är på gång? Se denna sida.
svever
Posts: 12
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by svever »

Hej
Såg det här inlägget nu och undrar om du kan komma med tips.
Jag får inte callbacks.py att fungera.
Trycker på fjärr (iofs av märket proove, men brytarna fungerar utmärkt med DUOn), men inget händer.
Har även en magnetkontakt Nexa LMST 606, men inga signaler fångas som jag kan läsa av callbacks.py.
Har du någon bra ledtråd? Behöver någon rättighet sättas för callbacks? Jag kör som användare pi.
DUOn fungerar bra med tända/släcka lampor via crontab.
Behöver något ytterligare startas för att få mottagning av signaler att fungera?
Tacksam för all hjälp!
krambriw
Posts: 654
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by krambriw »

Har du lärt upp fjärrens knappar och magnetkontakten med Telldus Center och skapat enheter för dom, Annars får du inga *riktiga* events, kanske därför du bara ser bara raw
svever
Posts: 12
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by svever »

Det har jag inte gjort, kör utan gui.
Jag har kommenterat bort raden i callbacks.py för att kunna fånga raw eventen.
Är det inte så att alla eventen bör fångas av Duon, och de som inte är registrerade dyker upp som raw?
Därefter går det att lägga upp dom tellstick.conf enligt det som dyker upp när callbacks.py körs?
Mitt problem är alltså att jag inte ser några raw events vilket jag tycker jag borde göra...
krambriw
Posts: 654
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by krambriw »

Är det inte så att alla eventen bör fångas av Duon, och de som inte är registrerade dyker upp som raw?
Jo, enligt min uppfattning är det så

Onödig fråga kanske men fungerar din Duo korrekt, dvs kan den ta emot signalerna? Om du väljer att scanna in enheten så kan du ju i alla fall verifiera att allt fungerar korrekt med *standardlösningen* innan du börjar leta i fel ända
svever
Posts: 12
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by svever »

Du har helt rätt, jag borde testa det för att se att Duon fungerar korrekt och tar emot signaler.
Har ingen koll på Telldus Center, men det är installerat. Hur drar man igång det? Det kan jag iofs googla på, men vet du det direkt så får du gärna svara.
Tack för bra tips.
svever
Posts: 12
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by svever »

Har nu fått det här att fungera, men förstår inte varför...
Installerade Telldus Center på Macen, scannade... och först hände inget, sedan helt plötsligt fungerade det.
Verkar nästan som om det är glapp i Duon. Hur som helst, då kunde jag uppdatera min tellstick.conf och sedan fungerade det även på raspberryn.
Lyckas även lyssna på RAW events, som inte fungerade förut, glappteorin förstärks...

En fråga till, kanske någon kan ge svar...
Måste man ha två device för on/off för t.ex en magnetkontakt, de har olika "house":
device {
id = 10
name = "Brytare off"
protocol = "arctech"
model = "selflearning-switch:nexa"
parameters {
house = "10720446" #sätter ihop
unit = "10"
}
}

device {
id = 13
name = "Brytare on"
protocol = "arctech"
model = "selflearning-switch:nexa"
parameters {
house = "37309414" #tar is?r
unit = "13"
}
}
erijo
Posts: 22
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by erijo »

Detta kanske kan vara av intresse: http://developer.telldus.com/ticket/235

Sen får jag helt skamlöst passa på att tellcore-py också: http://www.telldus.com/forum/viewtopic.php?f=1&t=4093

Borde funka upperligt på pi.
Python wrapper for Telldus Core: tellcore-py
Python wrapper for Telldus Live: tellive-py
svever
Posts: 12
Joined: Fri Mar 17, 2023 9:45 am

Re: TellstickDuo och callback via python

Post by svever »

erijo wrote:Detta kanske kan vara av intresse: http://developer.telldus.com/ticket/235

Sen får jag helt skamlöst passa på att tellcore-py också: http://www.telldus.com/forum/viewtopic.php?f=1&t=4093

Borde funka upperligt på pi.
Tackar. Jag får flasha min duo helt enkelt. Kanske laddar jag hem tellcore-py också :), men det får vänta. Tiden räcker inte riktigt till och jag vet inte riktigt vad jag egentligen vill med prylarna. Men roligt är det ju.
Post Reply