Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

  • mitch2kbe
  • Registratie: januari 2008
  • Laatst online: 25-09 21:08
Hallo,

ik was benieuwd of er iemand al was in geslaagd om een Klik Aan Klik Uit/Trust ICS-2000 rechtstreeks aan te spreken over het netwerk doormiddel van een API of UDP broadcoast.
Ik heb reeds geprobeerd via de uitleg die hier staat voor de ICS-1000, maar lijkt niet te werken voor de 2000.

Grtz

Acties:
  • +1Henk 'm!

  • mitch2kbe
  • Registratie: januari 2008
  • Laatst online: 25-09 21:08
Nou, heb ondertussen zelf wat lopen zoeken, en middels een http proxy heb ik de commands kunnen achterhalen. Er wordt een http request gedaan in deze vorm:
code:
1
http://trustsmartcloud2.com/ics2000_api/command.php?email=mi***%40***.eu&password_hash=***command=0100800012A30110C3000000004200000017005C00400002001800070062847E01000000000000000050007290FE9F5BFEE36988D4A14813A893F4D6B9DC94CC70DEAC92F2DD2F6CAA3EDAEDD2AF8A4064AE00A5A77F58139ABBA43D60DDC40BF137434C284C27C7EA4D3B2820B276DFF075D6CA1F1A160EDBB340&action=add&device_unique_id=ffffffff-f635-****-ffff-ffff9a****f9&mac=0012A301****

* = vervangen

dit is het aanschakelen van een lamp. Het uitschakelen is exact dezelfde vorm, behalve de command is anders.

Door de http requests opnieuw uit te sturen, kan ik in ieder geval nu al programmatisch het een en het ander bedienen, al is het wel omslachtig om aan de juiste string te komen :).

  • Vinnybinny
  • Registratie: april 2006
  • Laatst online: 21-07 11:22
Haha, ik stuitte toevallig gisteren op jouw topic omdat ik zelf in combinatie van Homebridge bezig was om dit te regelen. Ik vind zelf de ICS2000 koppeling erg matig, ze hebben ook gewoon error reporting aanstaan op productieomgeving (laat maar eens een variabel weg). Daarnaast gewoon PLAIN-text met gebruikersnaam wachtwoord in URL string. Erg slecht.

Ik vraag me af wat de command binair precies inhoudt. Of hier een timestamp o.i.d. aan verbonden zit. Ik heb hetzelfde als jij gedaan gisteren, ben erg benieuwd hoe lang ik de lichten hiermee aan en uit kan zetten.

Acties:
  • +1Henk 'm!

  • mitch2kbe
  • Registratie: januari 2008
  • Laatst online: 25-09 21:08
quote:
Vinnybinny schreef op dinsdag 14 juni 2016 @ 10:54:
Haha, ik stuitte toevallig gisteren op jouw topic omdat ik zelf in combinatie van Homebridge bezig was om dit te regelen. Ik vind zelf de ICS2000 koppeling erg matig, ze hebben ook gewoon error reporting aanstaan op productieomgeving (laat maar eens een variabel weg). Daarnaast gewoon PLAIN-text met gebruikersnaam wachtwoord in URL string. Erg slecht.

Ik vraag me af wat de command binair precies inhoudt. Of hier een timestamp o.i.d. aan verbonden zit. Ik heb hetzelfde als jij gedaan gisteren, ben erg benieuwd hoe lang ik de lichten hiermee aan en uit kan zetten.
Hi,

Inderdaad, de error reporting viel mij ook op :) Beetje slordig.
Wachtwoord gaat wel over https, maar ze hadden het op z'n minst kunnen hashen imo.

Tot hiertoe lijkt de aansturing vlekkeloos te werken met de gekopieerde string. Ik probeer uit te zoeken hoe het HEX gedeelte is opgebouwd.

Ik heb intussen ook eens via klikaanklikuit gehoord of ze de API kunnen openstellen. Dit was het antwoord:
quote:
Helaas kunnen wij deze niet beschikbaar stellen, ik kan u ook niet garanderen of dit ook daadwerkelijk gaat gebeuren! Onze excuses hier voor.

Met vriendelijke groet,

KlikAanKlikUit Klantenservice
Spijtig dit :(

  • Vinnybinny
  • Registratie: april 2006
  • Laatst online: 21-07 11:22
Hi,

Hou me op de hoogte! Denk niet dat je erachter gaat komen waar de HEX voor staan. Je zou denken dat dit een hash is die eenmalig kan worden uitgevoerd. Maar inderdaad, ik heb via Siri (Homebridge) ook de lampen tientallen keren aan en uit gezet.

Wat je zegt betreft HTTPS is volgens mij niet waar, in de password_hash staat bij mij ook gewoon het wachtwoord. Die URL gaat wel over een HTTP verbinding. Wellicht is dit bij jou anders.

KlikAanKlikUit valt me erg tegen qua functionaliteit. Ik had er meer van verwacht. Het werkt op zich prima, maar de technologie is ook erg beperkt omdat de KlikAanKlikUit modules geen feedback kunnen geven, dus als je de lamp aanzet is de vraag of dit werkelijk gebeurt. Als je naar Domotica in het algemeen kijkt doet KlikAanKlikUit niets onder aan de concurrentie, maar ik vind het onbegrijpelijk dat het zo slecht is terwijl er volgens mij meerdere ontwikkelaars aan werken. Er valt wel meer uit te halen denk ik persoonlijk!

  • Psycho_Mantis
  • Registratie: februari 2007
  • Laatst online: 16-10 16:44

Psycho_Mantis

Wow. So Amaze.

Volgens mij kan je beter Domoticz of iets anders gebruiken en hierin beter verder geen moeite insteken.
Geloof dat het enkel zonde van je tijd is.

PVoutput | Mac Mini 2011 | Macbook Pro Retina 2014 | iPhone 8 Plus 64GB | Apple Watch Sport (1st gen)


Acties:
  • +1Henk 'm!

  • Dick99999
  • Registratie: december 2004
  • Laatst online: 02-09 10:23
Als ik een packet trace uitvoer, zie ik alleen UDP verkeer, geen TCP. Vermoedelijk versleuteld UDP verkeer tussen mijn iPhone en de ICS-2000, ook als ik een schakelaar aan zet. En ook UDP tussen de 2000 en de trust server.
Waar/wanneer zien jullie TCP?

  • Calypoter
  • Registratie: januari 2017
  • Laatst online: 11-02-2017
Heeft er iemand al iets meer gevonden hoe de lampen van kaku aan te spreken?

  • jmlk
  • Registratie: november 2010
  • Laatst online: 17-08 21:50
ICS-2000 bij bouwmarkt gekocht. Pas thuis ontdekt dat verpakking al open is geweest. Waarschijnlijk heeft een vorige koper de ICS-2000 geprobeerd (account aangemaakt) en geretourneerd naar de winkel. Het lukt mij nu niet meer om mijn nieuwe account te registeren. De ICS wordt LAN herkend met het juiste MAC adres echter na NEXT komt melding: Error Gateway already confirmed. Service support request achtergelaten bij Klikaanklikuit. Het resetten naar af-fabriek situatie is niet gedocumenteerd. Ook een beschrijving van de P1 (slimme meter aansluiting) is niet gedocumenteerd.

  • JunkieXP
  • Registratie: juli 2004
  • Laatst online: 14-10 16:13

JunkieXP

Missing the BB10 Flow =)!

quote:
mitch2kbe schreef op maandag 13 juni 2016 @ 23:45:
Nou, heb ondertussen zelf wat lopen zoeken, en middels een http proxy heb ik de commands kunnen achterhalen. Er wordt een http request gedaan in deze vorm:
code:
1
http://trustsmartcloud2.com/ics2000_api/command.php?email=mi***%40***.eu&password_hash=***command=0100800012A30110C3000000004200000017005C00400002001800070062847E01000000000000000050007290FE9F5BFEE36988D4A14813A893F4D6B9DC94CC70DEAC92F2DD2F6CAA3EDAEDD2AF8A4064AE00A5A77F58139ABBA43D60DDC40BF137434C284C27C7EA4D3B2820B276DFF075D6CA1F1A160EDBB340&action=add&device_unique_id=ffffffff-f635-****-ffff-ffff9a****f9&mac=0012A301****

* = vervangen

dit is het aanschakelen van een lamp. Het uitschakelen is exact dezelfde vorm, behalve de command is anders.

Door de http requests opnieuw uit te sturen, kan ik in ieder geval nu al programmatisch het een en het ander bedienen, al is het wel omslachtig om aan de juiste string te komen :).
Zou je iets concreter aan willen geven hoe je deze data hebt weten te achterhalen. Momenteel enkel nog Android TCP Sniffers gebruikt maar zonder resultaat. Op m'n PC zou ik graag wat handvaten hebben zodat ik weet waar ik de http proxy zoektocht moet aanvangen =)!

Desktop: Wacom Intuos Pen & Touch | Logitech Z2300
Gadgets: BlackBerry KEY2
Earcandy: BeatsX Ft. Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • +1Henk 'm!

  • mitch2kbe
  • Registratie: januari 2008
  • Laatst online: 25-09 21:08
quote:
JunkieXP schreef op vrijdag 31 maart 2017 @ 21:51:
[...]

Zou je iets concreter aan willen geven hoe je deze data hebt weten te achterhalen. Momenteel enkel nog Android TCP Sniffers gebruikt maar zonder resultaat. Op m'n PC zou ik graag wat handvaten hebben zodat ik weet waar ik de http proxy zoektocht moet aanvangen =)!
Hallo,

Ik heb Fiddler gebruikt: http://www.telerik.com/fiddler

Ik weet niet meer 100% zeker hoe ik het gedaan heb. Ik herinner me wel van toen dat het enkel werkte als ik over 3g ging (en dan mijn eigen PC als proxy gebruikte).
Ik heb het net nog eens snel geprobeerd, en kreeg het niet zo 123 aan de praat. Wat wel opviel is dat de app nu klaagt als de certificaten niet ok zijn. Wellicht hebben ze daar nu een check op ingebouwd.

EDIT, het is me nu wel gelukt :). Het werkt dus nog wel.

Dit zijn de stappen die je moet doen:
- Installeer en start fiddler
- Activeer capture https connects, en decrypt https in fiddler options
- Activeer allow remote computers to connect en deactiveer act as system proxy
- Herstart fiddler
- Op je router/firewall, forward port 8888 naar de pc waar fiddler op draait. Zorg dat windows firewall de poort ook toelaat.
- Zet je android toestel op 3g, en geef als proxy publiek ip van je router in, en de fiddler poort (8888)
- Ga op je android naar http://<publiekip>:8888 en download Fiddler Root Certificate
- Installeer het certificaat voor VPN & apps
- Als het goed is, als je nu surft naar een site, zie je de connectie en details in fiddler verschijnen
- Start de Trust app en voer wat commando's uit.
- Je ziet de requests naar trustsmartcloud2.com voorbijkomen. Via Inspectors/Headers kan je de volledige POST zien.

Vergeet niet om na het debuggen de proxy en certificaten terug van je telefoon te gooien.

mitch2kbe wijzigde deze reactie 01-04-2017 12:34 (38%)


Acties:
  • +1Henk 'm!

  • JunkieXP
  • Registratie: juli 2004
  • Laatst online: 14-10 16:13

JunkieXP

Missing the BB10 Flow =)!

---------------------------------------------

Het is niet meer nodig om de URL's vanuit de Klik Aan Klik Uit via een eigen Proxy op te halen wanneer je gebruik maakt van de nieuwe Triggi Koppeling naar Klik Aan Klik Uit

---------------------------------------------

Aangezien ik gebruik maak van een iMac was het even puzzelen aangezien ik geen zin had om geen zin had om Mono te installeren op OSX.

Maar het goede nieuws is dat ik er met het gebruik van de Trial Versie van Charles Proxy alsnog ben uitgekomen.

Sidenote: Ik moest wel gebruik maken van een iPad die ik via een Hotspot met de 3G van mijn Android toestel moest verbinden aangezien je voor Android een aanpassing in de App moet doen om "User Installed" certificaten te ondersteunen. Dit heeft me het grootste deel van m'n tijd gekost haha.

Ik kopieer hieronder de stappen en pas aan waar nodig voor het gebruik van Charles Proxy op Mac.

1. Installeer en start fiddler
Installeer en Start Charles Proxy
Activeer capture https connects, en decrypt https in fiddler options
Activeer allow remote computers to connect en deactiveer act as system proxy
Herstart fiddler
2. "Recording" was bij mij gelijk actief, te herkennen aan het knopje met het rode bolletje
3. Op je router/firewall, forward port 8888 naar de pc waar Charles Proxy op draait. En zet deze op "Enabeld" (DOH). Zorg dat windows firewall de poort ook toelaat. Voor OSX hoefde ik persoonlijk geen poort meer open te zetten.
4. Zet je android iPhone / iPad op 3g, en geef als proxy publiek ip van je router in, en de Charles Proxy poort (8888)
5. Ga op je android iPhone / iPad naar http://<publiekip>:8888 www.charlesproxy.com/getssl en download Charles Proxy Root Certificate
6. Installeer het certificaat
7. Als het goed is, als je nu surft naar een site, zie je de connectie en details in fiddler Charles Proxy verschijnen
8. Start de Trust of Klik Aan Klik Uit app
9. Je ziet de requests naar trustsmartcloud2.com voorbijkomen.
10. Klik in de linkerzijbalk op de trustsmartcloud2.com folder en kies Enable SSL Proxy
11. Start de Trust app een commando uit, per commando zijn er circa 4 "command.php" requests
12. Klik op de command.php vermeldingen aan de linkerkant en kijk onder het tabje content of in het grote veld een numerieke id van circa 10 tekens staat in de "text" / "html" modus. Als dit het geval is, dan vind je in het bovenste blok de url die je moet hebben.

Vergeet niet om na het debuggen de proxy en certificaten terug van je telefoon / router te gooien.

Leuke bijkomstigheid was precies toen ik de laatste URL had achterhaald, de iPad uitviel en nog geen minuut later de 30 minuten trial verlopen was (deze mag je overigens gewoon opnieuw opstarten) =P.

JunkieXP wijzigde deze reactie 03-04-2017 15:23 (5%)

Desktop: Wacom Intuos Pen & Touch | Logitech Z2300
Gadgets: BlackBerry KEY2
Earcandy: BeatsX Ft. Beats Pro

Het Algemene Screen-Protector Topic


Acties:
  • +3Henk 'm!

  • JunkieXP
  • Registratie: juli 2004
  • Laatst online: 14-10 16:13

JunkieXP

Missing the BB10 Flow =)!

Ik kreeg zojuist deze tweet door van KlikAanKlikUit:

Vanaf vandaag is klikaan ook beschikbaar via de app Triggi, via de connect channel kunt u zelf hobbyen.

Zelf nog niet bekend met Triggi, maar scheelt wellicht werk met het sniffen naar URL's =P.
___________________________

Ik ben inmiddels wat dieper in Triggi gedoken en wanneer je het KlikAanKlikUit "Kanaal" in Triggi activeert kun je je Schakelaars en Scenes activeren.

Wanneer je via "Triggi Connect" een eigen HTTP Trigger aanmaakt, kun je deze URL aanroepen om een actie vanuit Triggi gedaan te krijgen.

Op deze manier hoef je dus niet langer te weten welke URL's je KlikAanKlikUit App triggert aangezien Triggi dit voor je oppakt (naar eigen zeggen via een oAuth connectie, i.p.v. het meesturen van je Plain Wachtwoord in de GET Parameter).

JunkieXP wijzigde deze reactie 03-04-2017 15:19 (54%)

Desktop: Wacom Intuos Pen & Touch | Logitech Z2300
Gadgets: BlackBerry KEY2
Earcandy: BeatsX Ft. Beats Pro

Het Algemene Screen-Protector Topic


  • mac-er
  • Registratie: november 2006
  • Laatst online: 30-09 10:52
Ondertussen is het al een hele tijd stil in dit topic, ondanks dat reageer ik toch even.

Ik ben nu ook eens hiermee aan de slag gegaan, grootste minpunt dat ik aan de standaardbesturing vind is dat alles via een app moet, en niks via een website gedaan kan worden.

Ik wil zelf graag eens aan de slag met een eigen web-app die ik vanaf zowel mijn telefoon als vanaf mijn pc kan benaderen.

Wat ik mij afvraag, zijn jullie al verder gekomen, of hebben jullie echt verdere stappen gemaakt met Triggi?

Triggi vind ik namelijk ook nogal omslachtig omdat ik voor veel zaken eerst via de KAKU app vanalles moet doen, dan koppelen in de Triggi app en dan volgens mij ook nog eens een connector aanmaken.

Misschien toch een leuk (open-source) project om eens te klussen en zelf wat proberen te maken, maar vind het nu nogal omslachtig hoe ik alles zou moeten doen, en vrij beperkend.

To Apple or not to Apple? That's the banana!


  • EPD
  • Registratie: juli 2017
  • Laatst online: 15-01-2018
Ik ben ook erg benieuwd of er al meer ervaringen zijn. Met name in combinatie met Domoticz.
Heleaal nu de ICS-2000 ook Zigbee LL en HA ondersteund.

  • rutgerdegraaf
  • Registratie: januari 2018
  • Laatst online: 12-03-2018
Voor iedereen die het leuk vindt om met de P1 port van de ICS-2000 te spelen heb ik een Git repo (https://github.com/rdegraafwhizzkit/ics2000) aangemaakt met code die deze via de TrustSmartCloud2 API kan uitlezen. De huidige commit schrijft naar ElasticSearch en MySQL weg. Documentatie volgt!

Acties:
  • +7Henk 'm!

  • h3x4d3c1m4l
  • Registratie: juni 2014
  • Laatst online: 22-02-2018
Ik ben hier op dit moment mee bezig. Met wat reverse engineering is het me gelukt te achterhalen hoe de communicatie tussen de ICS-2000 en de mobiele app werkt op het moment dat je smartphone en de ICS-2000 in hetzelfde netwerk zitten. De data gaat dan niet meer via de PHP-scriptjes op trustsmartcloud2.com maar via UDP-berichten.

Die UDP-berichten kan ik nu lezen en schrijven en de inhoud decrypten en encrypten. Inhoudelijk nog niet gekeken, maar ik zie een hoop JSON voorbij komen. Ik ga later weer verder met RE'en.

Als ik wat spannends voor elkaar heb gekregen zal ik een repo maken met de C# code van wat ik tot nu toe heb!

h3x4d3c1m4l wijzigde deze reactie 07-01-2018 14:05 (9%)


  • Watashifr
  • Registratie: februari 2018
  • Laatst online: 20-05-2018
Ben heel benieuwd naar de voortgang h3x4d3c1m4l, heb een oplossing gebouwd voor een aantal verschillende systemen en wil graag een ICS-2000 toevoegen. Kunnen we ergens volgen hoe het gaat? Niet noodzakelijkerwijs de C# code, wat mij vooral interesseert zijn de UDP-broadcasts.

  • Dick99999
  • Registratie: december 2004
  • Laatst online: 02-09 10:23
Sluit ik mij bij aan. Ik ben geïnteresseerd in een HomeAssist aansluiting voor de ICS-2000, dan kan alles lokaal op mijn netwerk draaien. Ik zie voor de smart home toepassing weinig voordelen in cloud oplossingen en ga voor lokaal. Daarom ook een 2000 gekozen.

  • Twanniej
  • Registratie: februari 2011
  • Laatst online: 19-09 10:36
Waar ik ook benieuwd naar ben, ik wil de ICS-2000 gaan gebruiken met siri/ homekit.
Dit wil ik gaan proberen met Triggi en homebridge, iemand hier al ervaring mee? Of wellicht een andere manier om dit voor elkaar te krijgen?
En is er belangstelling naar dat ik een tutorial schrijf als ik het draaiend heb?

  • MeShell
  • Registratie: juni 2009
  • Laatst online: 09:33
Zeker belangstelling voor!

  • Dick99999
  • Registratie: december 2004
  • Laatst online: 02-09 10:23
Nu Kaku de ICS-2000 API aan Olisto/Triggi heeft gegeven, hoop ik dat Kaku zal beseffen dat ze die API ook voor hun klanten beschikbaar moeten gaan maken. Of verdienen ze soms meer aan Triggi dan aan ons? Zij hadden de juiste keuze gemaakt vond ik: de consument kon kiezen: lokaal en/of cloud. Maar nu is het met Olisto/Triggi weer alleen de cloud. En dat wil ik in ieder geval niet.

Ik heb een ander soort "API", zeg maar koppeling met de 2000 op het oog. Het is nog niet geheel af maar lijkt goed te werken: een €55 RFlink, een Pi3 met Home Assistant (HAS) die met de 2000 zal praten alsof een toets op een Kaku afstand bediening wordt ingedrukt.
Mijn eerste indruk: Kaku wint het wat betreft de gebruiksinterface. HAS wint op de vele functionele mogelijkheden en vooral ook wat betreft het mixen van merken: Kaku, HomeEasy, Smartwares (en Action?) vormen geen enkel probleem.

  • Robin. K
  • Registratie: oktober 2018
  • Laatst online: 17-11-2018
Is er al enige vooruitgang in het ICS-2000 API onderwerp?

Waar staat API voor of is dat gewoon de naam

Ps, ik ben 16 dus weet niet zoveel van dit gebied wel zeer geintereseert

  • JanInternetman
  • Registratie: november 2018
  • Laatst online: 02-01 11:00
Heeft iemand nog nieuws over dit onderwerp.

@rutgerdegraaf ben vooral benieuwd of je al wat meer documentatie hebt van je script. Ziet er veelbelovend uit !

  • hvdkooij
  • Registratie: november 2017
  • Laatst online: 28-01 17:29
Heeft iemand al eens gekeken of het via de omweg Olisto wel te doen is?

  • pauldirkson
  • Registratie: mei 2005
  • Laatst online: 05-04 06:19
Is het hier iemand al gelukt om de ICS-2000 via de API te koppelen aan HomeAssistant?
Olisto schijnt dit wel als wensenlijst te hebben om deze koppeling uiteindelijk te realiseren.
https://forum.olisto.com/t/koppeling-home-assistant/460/4

Acties:
  • +1Henk 'm!

  • BJD
  • Registratie: februari 2003
  • Laatst online: 02-09 12:07
Ik heb zelf een ICS-2000 en wil deze graag aan OpenHAB koppelen. Bij voorkeur zonder extra Olisto webhook achtige praktijken. Bij Trust/KAKU geven ze niet thuis en lijken ze vooral zelfvoldaan te zijn van hun Olisto samenwerking :X Gisterenavond ben ik even in hun protocol gedoken, doormiddel van een decompile van de Android APK. Hierdoor heb ik een redelijk beeld gekregen van hoe hun messages zijn opgebouwd. Op basis hiervan heb ik een Wireshark dissector (LUA) gemaakt, waarmee het protocol gedecode kan worden.


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
-- TRUST protocol
-- by BJD 2019
trust_proto = Proto("trust","Trust Smart Home")
-- create a function to dissect it
function trust_proto.dissector(buffer,pinfo,tree)
    pinfo.cols.protocol = "TRUST"
    local subtree = tree:add(trust_proto,buffer(),"Trust Smart Home Protocol Data")
    subtree:add(buffer(0,1),"FrameNumber " .. buffer(0,1):uint())
    subtree:add(buffer(1,1),"SegmentNumber " .. buffer(1,1):uint())
--  subtree:add(buffer(2,1),"MessageType " .. buffer(2,1):uint())
    local typetext = ""
    local typeint = buffer(2,1):uint()
    if     typeint == 0 then typetext = "INVALID"
    elseif typeint == 1 then typetext = "COMMANDS_AVAILABLE"
    elseif typeint == 2 then typetext = "EVENT_NOTIFICATION"
    elseif typeint == 3 then typetext = "ANNOUNCEMENT"
    elseif typeint == 4 then typetext = "DEVICE_LINK_REQUEST"
    elseif typeint == 5 then typetext = "DEVICE_LINK_RESPONSE"
    elseif typeint == 6 then typetext = "GET_DEVICE_TIME"
    elseif typeint == 10 then typetext = "URL_REDIRECT"
    elseif typeint == 11 then typetext = "SYNC_ALL_DATA"
    elseif typeint == 12 then typetext = "STOP_SYNC_ALL_DATA"
    elseif typeint == 16 then typetext = "GET_DEVICE_INFO"
    elseif typeint == 17 then typetext = "UPDATE_USER_SETTINGS"
    elseif typeint == 18 then typetext = "GET_USER_SETTINGS"
    elseif typeint == 19 then typetext = "LOCAL_ENERGY_PRODUCTION"
    elseif typeint == 20 then typetext = "WEATHER_INFORMATION"
    elseif typeint == 21 then typetext = "VERSION_CHECK"
    elseif typeint == 22 then typetext = "GET_VERSION_LIST"
    elseif typeint == 23 then typetext = "VERSION_LIST"
    elseif typeint == 128 then typetext = "CONTROL_ENTITY"
    elseif typeint == 129 then typetext = "CREATE_ENTITY"
    elseif typeint == 130 then typetext = "DELETE_ENTITY"
    elseif typeint == 131 then typetext = "UPDATE_ENTITY"
    elseif typeint == 132 then typetext = "GET_ENTITY_STATUS"
    elseif typeint == 133 then typetext = "LIST_NEW_ENTITIES"
    elseif typeint == 134 then typetext = "GET_DATA_ENTITIES"
    elseif typeint == 135 then typetext = "LEARN_MODULE"
    elseif typeint == 136 then typetext = "GET_868_STATES"
    elseif typeint == 137 then typetext = "IDENTIFY_ZIGBEE"
    elseif typeint == 138 then typetext = "UPDATE_ZIGBEE"
    elseif typeint == 144 then typetext = "CONTROL_ZIGBEE"
    elseif typeint == 145 then typetext = "RESET_ZIGBEE"
    elseif typeint == 176 then typetext = "FIRMWARE_AVAILABLE"
    elseif typeint == 178 then typetext = "BACKUP_SYNC_START"
    elseif typeint == 179 then typetext = "BACKUP_SYNC_COMPLETE"
    elseif typeint == 180 then typetext = "REMOTE_REBOOT"
    elseif typeint == 91 then typetext = "FACTORY_DEFAULT_RESET_NOTIFICATION"
    elseif typeint == 251 then typetext = "REQUEST_NEXT_DATA_FRAME"
    elseif typeint == 252 then typetext = "ACKNOWLEDGE"
    elseif typeint == 253 then typetext = "NOT_ACKNOWLEDGE"
    elseif typeint == 254 then typetext = "NO_COMMANDS_AVAILABLE"
    end
    subtree:add(buffer(2,1),"MessageType " .. typeint .. " - " .. typetext)
    subtree:add(buffer(3,6),"MacAddressBytes " .. tostring(buffer(3,6):ether()))
    subtree:add(buffer(9,4),"MagicNumber " .. buffer(9,4):le_uint())
    subtree:add(buffer(13,2),"GlobalVersion " .. buffer(13,2):le_uint())
    subtree:add(buffer(15,2),"SettingsVersion " .. buffer(15,2):le_uint())
    subtree:add(buffer(17,2),"DeviceStateVersion " .. buffer(17,2):le_uint())
    subtree:add(buffer(19,2),"DeviceDataVersion " .. buffer(19,2):le_uint())
    subtree:add(buffer(21,2),"AreaDataVersion " .. buffer(21,2):le_uint())
    subtree:add(buffer(23,2),"RuleStateVersion " .. buffer(23,2):le_uint())
    subtree:add(buffer(25,2),"RuleDataVersion " .. buffer(25,2):le_uint())
    subtree:add(buffer(27,2),"SceneDataVersion " .. buffer(27,2):le_uint())
    subtree:add(buffer(29,4),"EntityId " .. buffer(29,4):le_uint())
    subtree:add(buffer(33,2),"SmartDeviceId " .. buffer(32,2):le_uint())
    subtree:add(buffer(37,4),"EntityTrackerID " .. buffer(37,4):le_uint())
    subtree:add(buffer(41,2),"DataLength " .. buffer(41,2):le_uint())
    local dleng = buffer(41,2):le_uint()
    subtree:add(buffer(43,dleng),"Data " .. tostring(buffer(43,dleng):bytes()))
end
-- load the udp.port table
udp_table = DissectorTable.get("udp.port")
-- register our protocol to handle udp port 2012
udp_table:add(2012,trust_proto)



Helaas gebruikt Trust AES encryptie voor de data van hun Messages. Het is mij nog niet gelukt om deze key te achterhalen voor mijn omgeving. Mogelijk dat deze in de cloud is opgeslagen / in de Android Keystore staat. Hierin haakt de decompiler ook af, dus ik weet niet of het lukt hier goed achter te komen. De encryptie / decryptie routines heb ik al wel gevonden, evenals de routines die de payload genereren (JSON).

Anyway: ook zonder decryptie is er wel goed nieuws: door simpelweg losse commando's die lokaal vanuit de app zijn gestuurd op te vangen en deze in een nieuw UDP pakketje te gieten en te verzenden, is het mogelijk om lampen aan te sturen. Hiervoor mirror ik de poort van de switch waar de ICS-2000 op is aangesloten en gebruik ik WireShark om het verkeer te analyseren. Door bijvoorbeeld een lamp uit te schakelen, dit pakket op te vangen (udp.dstport == 2012) en vervolgend de gehele UDP payload opnieuw te versturen, wordt steeds de betreffende lamp uitgeschakeld. Dit kan ook door bijvoorbeeld een dimmer op 0,20,40,60,80 en 100% in te stellen en de 5 commando's op te vangen. Door de betreffende commando's opnieuw te verzenden, kun je je lampen op een bepaalde waarde krijgen. Traploos dimmen vanaf Domotics/OpenHAB kan dus helaas niet.
Pagina: 1


Apple iPhone 11 Nintendo Switch Lite LG OLED C9 Google Pixel 4 FIFA 20 Samsung Galaxy S10 Sony PlayStation 5 Apple

'14 '15 '16 '17 2018

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2019 Hosting door True