Plugwise Stretch 2.0 – Firmware update (handmatig)

plugwise stretch 2.0

Ik kreeg onlangs een mailtje dat mijn PWScli programma niet meer werkt, er bleken gebruikers van de stretch te zijn die al op firmware 2.0.x zaten terwijl ik nog op 1.0.41 zat, ik vind het dan vreemd waarom wij niet allemaal zo een update gekregen hadden!

stretch_info_1_0_41
Ik installeerde de nieuwste versie van de plugwise desktop (op moment van schrijven v1.6.7):

https://securedownloads.plugwise.com/tools/apps/plugwise_desktop_1.6.7.exe

drukte op de update button, maar er gebeurde niets, ook niet met de v1.6.4 Android app.

plugwise_desktop_1.6.6_screen_01
stretchinfo 1.0.41 _02
Na een belletje met plugwise, bleken er een aantal “test” users te zijn om de firmware uit te proberen, maargoed ik kan natuurlijk niet achterblijven!, dus dan maar zelf handmatig “geforceerd” updaten via de stretch!

Wat heb je nodig?

1) Autoit3 software

Eerst moeten we erachter zien te koment hoe het update process werkt, daarvoor heb ik de plugwise desktop v1.6.7 met de actionscript extractor uitelkaar geplukt, toen viel mijn oog op dit stukje code:

Laten we even kijken naar deze pagina op de stretch (v1.0.x): http://192.168.x.x/update/firmware, het resultaat:

stretch20_firmware_published
Hier staat dat er een nieuwe versie beschikbaar is!

Zo te zien aan het stukje code uit de plugwise desktop moeten we een POST commando doen naar http://192.168.x.x/update/firmware en moeten de “STATE” zetten in “DOWNLOADING”.
Ik had een voorbeeldscript geschreven voor de Smile, dat heb ik iets aangepast zodat het nu is geworden:

Het script zal een “OK” melden als het gelukt is

stretch20_firmware_script_output
Nu gaat de stretch de nieuwe firmware downloaden, geef de stretch 1 minuuut en kijk weer eens op http://192.168.x.x/update/firmware bij “STATE” zal dan “DOWNLOADED” vermeld staan, de firmware is nu gedownload!
stretch20_firmware_downloaded
Nu moeten we de firmware nog installeren, daarvoor moeten we wederom een POST commando geven op http://192.168.x.x/update/firmware en zetten we bij “STATE” “INSTALLING” neer!, hier vind je het scriptje:

Het script zal een “OK” melden als het gelukt is

stretch20_firmware_script_output
*** WACHT CA. 5 MINUTEN, DE FIRMWARE WORDT GEINSTALLEERD EN DE STRETCH ZAL REBOOTEN ***
*** ZET DE STRETCH NIET UIT, OF SCHAKEL DE STROOM VAN DE STRETCH NIET AF ***

Zo ziet de nieuwe v2.0.x firmware van de stretch er uit:
Ps. De “website” van de stretch werkt niet in IE9 (en IE10?) maar kan wel benaderd worden met Google Chrome, Firefox, Safari

firmware_v2.0.14

stretch_info_2.0.14


Updaten via SSH

1) Hiervoor heb je wel een SSH verbinding voor nodig bijvoorbeeld met Putty
2) Autoit3 software

Het kan zijn dat er geen firmware meer klaarstaat om te installeren, zoals bijvoorbeeld bij v1.0.46, de XML op http://192.168.x.x/update/firmware ziet er dan zo uit:

De gegevens uit deze XML staan op de stretch 2.0 in het configuratiebestand: /etc/config/smile

Ps. de smile is een ander product, maar ze hebben hetzelfde configuratiebestand!

een stukje uit: cat /etc/config/smile

Het comanndo uci show smile.firmware  geeft dan:

We moeten dus wat “regels” opnieuw instellen, dit zijn de gegevens van de 1.0.38 firmware:

Dus de ontbrekende regels moeten we weer herstellen voor de nieuwe software, we nemen firmware v2.0.16 om te proberen, deze stellen we als volgt in met UCI:
Ps. ik heb de 2.0.16 firmware gedownload en de MD5 hash is: 1fc3f1542465a59eb5f5786be4cee3ab

Even checken met het commando: uci show smile.firmware

Dan als laatste het commando: uci commit smile om de instellingen van kracht te doen laten komen!
Als je dan weer op http://192.168.x.x/update/firmware kijkt, dan ziet het er als volgt uit:

stretch_2.0.16_published

Nu kunnen we beginnen met downloaden, gebruik hiervoor het volgende Autoit3 script:
Autoit3 script om nieuwe firmware te downloaden op de Stretch 2.0 v1.0.x dat is aangekondigd in http://192.168.x.x/update/firmware

Het script zal een “OK” melden als het gelukt is

stretch20_firmware_script_output

Nu gaat de stretch de nieuwe firmware downloaden, geef de stretch 1 minuuut en kijk weer eens op http://192.168.x.x/update/firmware bij “STATE” zal dan “DOWNLOADED” vermeld staan, de firmware is nu gedownload!

stretch_2.0.16_firmware_downloaded

Nu moeten we de firmware nog installeren, daarvoor moeten we wederom een POST commando geven op http://192.168.x.x/update/firmware en zetten we bij “STATE” “INSTALLING” neer!, hier vind je het scriptje:

Autoit3 script om nieuwe firmware te installeren op de Stretch 2.0 v1.0.x dat is aangekondigd in http://192.168.x.x/update/firmware

Het script zal een “OK” melden als het gelukt is

stretch20_firmware_script_output

*** WACHT CA. 5 MINUTEN, DE FIRMWARE WORDT GEINSTALLEERD EN DE STRETCH ZAL REBOOTEN ***
*** ZET DE STRETCH NIET UIT, OF SCHAKEL DE STROOM VAN DE STRETCH NIET AF ***