Har en automower som jag installerat en seriell wifi adapter på. Kan använda den till att skicka ut klipparen samt att säga åt den att återvända hem med hjälp av ett hex-kommando.
Klipparen svarar alltid med ett status hex-kommando som jag skulle vilja kunna ta in i fibaro och översätta. Vad koderna betyder vet jag, men hur skulle luan kunna se ut för att ta emot statusen?
Hjälp!
Läsa HEX från TCP port.
HEX-adecimalt är talbas 16, vårat vanliga numeriska system har talbas 10. Således kan du alltid översätta fram och tillbaka:
http://www.rapidtables.com/convert/numb ... ecimal.htm
http://www.rapidtables.com/convert/numb ... ecimal.htm
Kör Home Assistant efter totalt nederlag för HomeSeer
Lysande!Bamsefar wrote:HEX-adecimalt är talbas 16, vårat vanliga numeriska system har talbas 10. Således kan du alltid översätta fram och tillbaka:
http://www.rapidtables.com/convert/numb ... ecimal.htm
Frågan är nu bara hur jag får till scenen som läser av statusen som klipparen skickar? Alltså, jag skickar ett kommando som genast ger ett svar tillbaka som skall läsas och översättas.
Tips?
Jag skickar det som en string.Bamsefar wrote:Men hur skickar du kommandot? Lite LUA kod så jag vet vad det är du gör - troligen har du svaret redan (men kanske inte vet om det)?
Jag har gjort två knappar, en för Auto och en för Hem. Hem ser ex. ut: 0x0F0x810x2C0x000x03.
Jag har bockat i "vänta på svar från enhet". Jag ser i terminalen att den svarar men jag vet inte hur jag ska ta emot det i fibaro.
Jag är urkass på LUA men det är förmodligen väldigt kompetent och klarar säkert att skicka och ta emot... men hur?
I min fjärde del om LUA, på slutet, så behandlar jag liknande scenarie när jag hanterar min Marantz:
http://www.zwaveforum.se/viewtopic.php?f=33&t=5013
http://www.zwaveforum.se/viewtopic.php?f=33&t=5013
Kör Home Assistant efter totalt nederlag för HomeSeer
Bra skrivet!Bamsefar wrote:I min fjärde del om LUA, på slutet, så behandlar jag liknande scenarie när jag hanterar min Marantz:
http://www.zwaveforum.se/viewtopic.php?f=33&t=5013
Har fått till det så att den svarar i debug men får endast ett frågetecken där.. Måste konverteras till hex antar jag?
Hex-koden där är en statusfråga som returnerar ett svar beroende på status. Denna vill jag försöka få in på en label efter att jag översatt den.
Code: Select all
-- find the number of this virtual device
local thisdevice = fibaro:getSelfId()
-- use the virtual device number to find the IP address and
-- port specified on the device's configuration page
local ip = fibaro:getValue(thisdevice, 'IPAddress')
local port = fibaro:getValue(thisdevice, 'TCPPort')
-- open up a connection to that port and write a message there.
tcpSocket = Net.FTcpSocket(ip, port);
tcpSocket:setReadTimeout(10000);
tcpSocket:write(string.char(0x0F, 0x01, 0xF1, 0x00, 0x00));
result = tcpSocket:read();
tcpSocket:disconnect();
fibaro:sleep(2000);
fibaro:debug(result)
Jo, svaret kommer men i konstigt format. Blir två frågetecken i debugloggen. Om jag skickar samma fråga via terminal får jag svaret tillbaka i hexformat.Bamsefar wrote:Borde du inte fånga returkoden från anropet och verifiera att allt gick bra?