• Tag Archieven toon
  • Geroote Toon bedienen met Domoticz

    Nadat je jouw Toon succesvol hebt geroot ga je natuurlijk als eerste je Toon-abonnement bij Eneco opzeggen; het abonnement kost je 4,50 € per maand daar heb je nu niets meer aan. Maar hoe krijg je de data van Toon dan in Domoticz? En hoe kan je via Domoticz de Toon bedienen?

    Na het uitvoeren van onderstaande stappen is het mogelijk om informatie uit de Toon te in Domoticz te laten weergeven en de Toon vanuit Domoticz aan te sturen.

    Toon > Domoticz

    • Huidige temperatuur (omgeving)
    • Ingestelde temperatuur (thermostaat)
    • Ingesteld programma
    • Ingestelde scene
    • Brander informatie (wordt de ketel gebruikt voor CV of Warm Water?)
    • Boiler temperatuur (ingaand en uitgaand)
    • Boiler temperatuur-setpoint
    • Keteldruk
    • Modulatie-level

    Domoticz > Toon

    • Instellen temperatuur (thermostaat)
    • Instellen programma
    • Instellen scene

    (Stap 1)

    User variables

    Allereerst gaan we 13 user variables aanmaken (Setup > More Options > User variables). In onderstaande tabel zie je eerst de “Variable name”, vervolgens het type (allemaal String) en tot slot de “Variable value”. Zorg ervoor dat je de namen en waarden exact overneemt (later kun je de namen eventueel wijzigen, maar dat scheelt voor nu wat debugging als er ergens iets niet goed gaat).

    1: UV_ToonboilerModulationLevel        String Boiler_Modulation_level
    2: UV_ToonboilerPressure               String Boilerdruk
    3: UV_ToonboilerOutTempName            String Temperatuur Boiler Uit
    4: UV_ToonboilerInTempName             String Temperatuur Boiler In
    5: UV_ToonProgramInformationSensorName String ToonProgramInformation
    6: UV_ToonAutoProgramSensorName        String ToonAutoProgram
    7: UV_ToonScenesSensorName             String Toon Scenes
    8: UV_ToonTemperatureSensorName        String Temperatuur Binnen
    9: UV_ToonIP                           String 10.0.0.180
    10: UV_ToonThermostatSensorName         String ToonThermostat
    11: UV_DomoticzIP                       String 10.0.0.1:8080
    12: UV_ToonBurnerName                   String ToonBranderInfo
    13: UV_ToonBoilerTempSetpointSensorName String ToonBoilerTempSetpoint

    Bij UV_ToonIP geeft je als waarde het vaste IP van je Toon in en bij UV_DomoticzIP geef je het IP van Domoticz in inclusief het poort-nummer.

    Virtuele devices

    De volgende stap is om virtuele devices aan te maken, deze hebben we nodig om acties te kunnen uitvoeren of data te kunnen aflezen. Ga naar Setup -> Hardware en kies bij Type voor Dummy. Je mag zeg een herkenbare naam kiezen:

    colandino.nl

     

    Zodra de Dummy Hardware toegevoegd is kunnen de virtuele sensoren gaan aanmaken. Klik hiervoor op Create Virtual Sensors (in het donkerblauw).

    Maak nu de virtuele sensor aan van het type “Temperature” en geef “Temperatuur Binnen” als naam van de sensor in:

    Maak op dezelfde wijze onderstaande virtuele sensoren aan:

    (Stap 2)


    1: ToonThermostat - Thermostat Setpoint sensor
    2: ToonAutoProgram - Selector Switch sensor
    3: ToonProgramInformation - Text sensor
    4: Toon Scenes - Selector Switch sensor
    5: ToonIP - Text Sensor
    6: ToonBranderInfo - Selector Switch sensor
    7: ToonBoilerTempSetpoint - Temperatuur sensor
    8: Temperatuur Boiler In - Temperatuur sensor
    9: Temperatuur Boiler Uit - Temperatuur sensor
    10: Boilerdruk - Pressure sensor
    11: Boiler_Modulation_level - Percentage sensor

    Voordat de scripts ingesteld kunnen worden zal de “ToonIP” Text-sensor ingevuld moeten worden met het IP-adres van de Toon.

    Het eerste IP-adres in onderstaande regel is het IP van Domoticz, het tweede IP-adres is het IP van Toon. Ook moet je bij idx= het IDX-nummer van de ToonIP-textsensor invullen.(Zie nr. 9 van stap 1)
    10.0.0.1:8080/json.htm?type=command&param=udevice&idx=22058&nvalue=0&svalue=10.0.0.180

    Bovenstaande regel wordt niet altijd juist getoond, onderstaande regel zou hetzelfde resultaat moeten geven:
    http://10.0.0.1:8080/json.htm?param=udevice&type=command&idx=22058&nvalue=0&svalue=10.0.0.180

    Geef deze URL in een willekeurig browser in, het resultaat zal dan zijn:
    { “status” : “OK”,
    “title” : “Update Device”
    }

    (Stap 3)

    Sensoren instellen

    Er moeten nog een aantal sensoren ingesteld worden, zodat de Toon hiermee
    bediend kan worden. Ga binnen Domoticz naar het tabblad Switches.

    ToonAutoProgram

    Klik bij “ToonAutoProgram” op “Edit”

    • stel “Hide Off Level” in op “OFF”
    • Pas de “Level Names” aan:
      • 0 Off
      • 10 Nee
      • 20 Ja
      • 30 Tijdelijk
    • Pas de “Level Action” aan, gebruik het IP-adres van de Toon.
      • 0
      • 10 http://10.0.0.180/happ_thermstat?action=changeSchemeState&state=0
      • 20 http://10.0.0.180/happ_thermstat?action=changeSchemeState&state=1
      • 30
    • Druk op “Save” om de wijzigingen op te slaan

    Toon Scenes

    Klik bij “Toon Scenes” op “Edit”

    • stel “Hide Off Level” in op “OFF”
    • Pas de “Level Names” aan:
      • 0 Off
      • 10 Weg
      • 20 Slapen
      • 30 Thuis
      • 40 Comfort
      • 50 Handmatig
    • Pas de “Level Action” aan, gebruik het IP-adres van de Toon.
      • 0
      • 10 http://10.0.0.180/happ_thermstat?action=changeSchemeState&state=2&temperatureState=3
      • 20 http://10.0.0.180/happ_thermstat?action=changeSchemeState&state=2&temperatureState=2
      • 30 http://10.0.0.180/happ_thermstat?action=changeSchemeState&state=2&temperatureState=1
      • 40 http://10.0.0.180/happ_thermstat?action=changeSchemeState&state=2&temperatureState=0
      • 50 http://10.0.0.180/happ_thermstat?action=setSetpoint&Setpoint=60
    • Druk op “Save” om de wijzigingen op te slaan

    BranderInfo

    Klik bij “ToonBranderInfo” op “Edit”

    • Pas de “Level Names” aan:
      • 0 Off
      • 10 CV
      • 20 WW
    • Druk op “Save” om de wijzigingen op te slaan

     

    Scripts

    Om alles goed te laten werken gaan we gebruik maken van twee dzVents scripts. Ga naar Setup > More Options > Events en maak een nieuw dzVents-script aan, getriggerd door ‘device’. Haal de code die erin staat weg en plak ondestaande code erin. Geef het script een herkenbare naam (bv. Toon Setpoint), zet het script op actief en sla het op.

    Lua
    return {
    on = {
    devices = {
    'ToonThermostat'
    }
    },

    execute = function(domoticz, device)
    domoticz.openURL(string.format(‘http://%s/happ_thermstat?action=setSetpoint&Setpoint=%s’, domoticz.variables(‘UV_ToonIP’).value, device.setPoint*100))
    domoticz.log(‘Setting Toon setpoint to ‘.. device.setPoint)
    end
    }

    Maak vervolgens nog een dzVents-script aan, dit keer getriggerd door Timer. Haal de code weg en plak onderstaande code erin. Ook nu geef je het script een herkenbare naam (bv. Toon), zet je het op actief en sla je het op.

    return {
    on = {
    timer = {
    'every minute'
    }
    },

    execute = function(domoticz)
    local ToonThermostat = domoticz.variables(‘UV_ToonThermostatSensorName’).value — Sensor showing current setpoint
    local ToonTemperature = domoticz.variables(‘UV_ToonTemperatureSensorName’).value — Sensor showing current room temperature
    local ToonBoilerTempIn = domoticz.variables(‘UV_ToonboilerInTempName’).value — Sensor showing water temp return
    local ToonBoilerTempOut = domoticz.variables(‘UV_ToonboilerOutTempName’).value — Sensor showing current water temp out
    local ToonBoilerPressure = domoticz.variables(‘UV_ToonboilerPressure’).value — Sensor showing current room temperature
    local ToonBoilerModulation = domoticz.variables(‘UV_ToonboilerModulationLevel’).value — Sensor showing current Boiler Modulation
    local ToonScenes = domoticz.variables(‘UV_ToonScenesSensorName’).value — Sensor showing current program
    local ToonAutoProgram = domoticz.variables(‘UV_ToonAutoProgramSensorName’).value — Sensor showing current auto program status
    local ToonProgramInformation = domoticz.variables(‘UV_ToonProgramInformationSensorName’).value — Sensor showing displaying program information status
    local ToonIP = domoticz.variables(‘UV_ToonIP’).value
    local DomoticzIP = domoticz.variables(‘UV_DomoticzIP’).value
    local ToonBurnerName = domoticz.variables(‘UV_ToonBurnerName’).value
    — local P1SmartMeterPower = domoticz.variables(‘UV_P1SmartMeterElectra’).value
    — local P1SmartMeterGas1 = domoticz.variables(‘UV_P1SmartMeterGasMeterStand’).value
    local ToonBoilerSetpoint = domoticz.variables(‘UV_ToonBoilerTempSetpointSensorName’).value — Sensor showing current boiler set point water temp out

    — Handle json
    local json = assert(loadfile “/home/pi/domoticz/scripts/lua/JSON.lua”)() — For Linux
    local handle = assert(io.popen(string.format(‘curl http://%s/happ_thermstat?action=getThermostatInfo’, ToonIP)))
    local ThermostatInfo = handle:read(‘*all’) handle:close()
    local jsonThermostatInfo = json:decode(ThermostatInfo)

    if jsonThermostatInfo == nil then
    return
    end

    local handle2 = assert(io.popen(string.format(‘curl http://%s/boilerstatus/boilervalues.txt’, ToonIP)))
    local BoilerInfo = handle2:read(‘*all’)
    handle2:close()

    — JSON data from Toon contains a extra “,” which should not be there.
    BoilerInfo = string.gsub(BoilerInfo, “,}”, “}”)
    jsonBoilerInfo = json:decode(BoilerInfo)

    — http://IP_TOON/hdrv_zwave?action=getDevices.json
    — local handle4 = assert(io.popen(string.format(‘curl http://%s/hdrv_zwave?action=getDevices.json’, ToonIP)))
    — local GasPowerInfo = handle4:read(‘*all’)
    — handle4:close()

    — JSON data from Toon contains a extra “.” which should not be there.
    — GasPowerInfo = string.gsub(GasPowerInfo, “dev_4.”, “dev_4”)
    — GasPowerInfo = string.gsub(GasPowerInfo, “dev_4:”, “dev_4\”:”)

    — local jsonGasPower = json:decode(GasPowerInfo)

    — domoticz.log(jsonGasPower)
    — local CurrentElectricityFlowHoog = tonumber(jsonGasPower.dev_44.CurrentElectricityFlow )
    — local CurrentElectricityQuantityHoog = tonumber(jsonGasPower.dev_44.CurrentElectricityQuantity)
    — local CurrentElectricityFlowLaag = tonumber(jsonGasPower.dev_46.CurrentElectricityFlow )
    — local CurrentElectricityQuantityLaag = tonumber(jsonGasPower.dev_46.CurrentElectricityQuantity)
    — local CurrentGasFlow = tonumber(jsonGasPower.dev_41.CurrentGasFlow)
    — local CurrentGasQuantity = tonumber(jsonGasPower.dev_41.CurrentGasQuantity)
    — local CurrentElectricityQuantity = CurrentElectricityFlowHoog + CurrentElectricityFlowLaag
    — local CurrentElectricityDeliveredLaag = 0 — local CurrentElectricityDeliveredHoog = 0
    — local totalDeliveredPower = 0

    — domoticz.devices(P1SmartMeterPower).updateP1(CurrentElectricityQuantityLaag, CurrentElectricityQuantityHoog, CurrentElectricityDeliveredLaag, CurrentElectricityDeliveredHoog, CurrentElectricityQuantity, totalDeliveredPower).silent()
    — domoticz.devices(P1SmartMeterGas1).updateGas(CurrentGasQuantity).silent()

    — Update the Boiler Water In to current value
    local currentboilerInTemp = tonumber(jsonBoilerInfo.boilerInTemp)
    if domoticz.utils.round(domoticz.devices(ToonBoilerTempIn).temperature,0) ~= domoticz.utils.round(currentboilerInTemp,0) then
    — domoticz.log(‘Updating Boiler Water In to current value: ‘ ..currentboilerInTemp)
    domoticz.devices(ToonBoilerTempIn).updateTemperature(currentboilerInTemp).silent()
    end

    — Update the Boiler water Out to current value
    local currentboilerOutTemp = tonumber(jsonBoilerInfo.boilerOutTemp)
    if domoticz.utils.round(domoticz.devices(ToonBoilerTempOut).temperature,0) ~= domoticz.utils.round(currentboilerOutTemp,0) then
    — domoticz.log(‘Updating Boiler Water Out to current value: ‘ ..currentboilerOutTemp)
    domoticz.devices(ToonBoilerTempOut).updateTemperature(currentboilerOutTemp).silent()
    end

    — Update the Boiler water Pressure to current value
    local currentBoilerPressure = tonumber(jsonBoilerInfo.boilerPressure)
    if domoticz.utils.round(domoticz.devices(ToonBoilerPressure)._nValue,0) ~= domoticz.utils.round(currentBoilerPressure,0) then
    — domoticz.log(‘Updating Boiler Pressure to current value: ‘ ..currentBoilerPressure)
    domoticz.devices(ToonBoilerPressure).updatePressure(currentBoilerPressure).silent()
    end

    local currentSetpoint = tonumber(jsonThermostatInfo.currentSetpoint) / 100
    local currentTemperature = domoticz.utils.round(tonumber(jsonThermostatInfo.currentTemp) / 100,1)
    local currentProgramState = tonumber(jsonThermostatInfo.programState)
    if currentProgramState == 0 then currentProgramState = 10 — No
    elseif currentProgramState == 1 then currentProgramState = 20 — Yes
    elseif currentProgramState == 2 then currentProgramState = 30 — Temporary
    end
    local currentActiveState = tonumber(jsonThermostatInfo.activeState)
    if currentActiveState == -1 then
    currentActiveState = 50 — Manual
    elseif currentActiveState == 0 then currentActiveState = 40 — Comfort
    elseif currentActiveState == 1 then currentActiveState = 30 — Home
    elseif currentActiveState == 2 then currentActiveState = 20 — Sleep
    elseif currentActiveState == 3 then currentActiveState = 10 — Away
    elseif currentActiveState == 4 then currentActiveState = 60 — Holiday
    end

    — Update the toon burner selector to current program state
    local currentBurnerInfo = tonumber(jsonThermostatInfo.burnerInfo)
    local CurrentToonBurnerValue = domoticz.devices(ToonBurnerName).level
    if currentBurnerInfo == 0 then currentBurnerInfo = 0 — uit
    elseif currentBurnerInfo == 1 then currentBurnerInfo = 10 — cv aan
    elseif currentBurnerInfo == 2 then currentBurnerInfo = 20 — warmwater aan
    elseif currentBurnerInfo == 3 then currentBurnerInfo = 10 — voorverwarmen volgend setpoint
    end

    if CurrentToonBurnerValue ~= currentBurnerInfo then — Update toon burner selector if it has changed
    — domoticz.log(‘Updating Toon burner info:’)
    domoticz.devices(ToonBurnerName).switchSelector(currentBurnerInfo)
    end

    — Update the modulation level of the burner
    local currentModulationLevel = tonumber(jsonThermostatInfo.currentModulationLevel)
    if domoticz.devices(ToonBoilerModulation).percentage + 1 ~= currentModulationLevel + 1 then
    — domoticz.log(‘Updating the Modulation sensor to new value: ‘ ..currentModulationLevel)
    domoticz.devices(ToonBoilerModulation).updatePercentage(currentModulationLevel)
    end

    — Update the temperature Boiler setpoint to current boiler set point
    local currentInternalBoilerSetpoint = jsonThermostatInfo.currentInternalBoilerSetpoint+1
    if domoticz.utils.round(domoticz.devices(ToonBoilerSetpoint).temperature, 1) ~= domoticz.utils.round(currentInternalBoilerSetpoint, 1) then
    — domoticz.log(‘Updating the Boiler internal temperature setpoint to new value: ‘ ..currentInternalBoilerSetpoint)
    domoticz.devices(ToonBoilerSetpoint).updateTemperature(currentInternalBoilerSetpoint)
    end

    — Update the thermostat sensor to current setpoint
    if domoticz.devices(ToonThermostat).setPoint*100 ~= currentSetpoint*100 then
    — domoticz.log(‘Updating thermostat sensor to new set point: ‘ ..currentSetpoint)
    domoticz.devices(ToonThermostat).updateSetPoint(currentSetpoint).silent()
    end

    — Update the temperature sensor to current room temperature
    if domoticz.utils.round(domoticz.devices(ToonTemperature).temperature, 1) ~= domoticz.utils.round(currentTemperature, 1) then
    — domoticz.log(‘Updating the temperature sensor to new value: ‘ ..currentTemperature)
    domoticz.devices(ToonTemperature).updateTemperature(currentTemperature)
    end

    — Update the toon scene selector sensor to current program state
    if domoticz.devices(ToonScenes).level ~= currentActiveState then — Update toon selector if it has changed
    — domoticz.log(‘Updating Toon Scenes selector to: ‘..currentActiveState)
    domoticz.devices(ToonScenes).switchSelector(currentActiveState).silent()
    end

    — Updates the toon auto program switch
    if domoticz.devices(ToonAutoProgram).level ~= currentProgramState then — Update toon auto program selector if it has changed
    — domoticz.log(‘Updating Toon Auto Program selector to: ‘..currentProgramState)
    domoticz.devices(ToonAutoProgram).switchSelector(currentProgramState).silent()
    end

    — Updates the toon program information text box
    local currentNextTime = jsonThermostatInfo.nextTime
    local currentNextSetPoint = tonumber(jsonThermostatInfo.nextSetpoint) / 100

    if currentNextTime == 0 or currentNextSetPoint == 0 then
    ToonProgramInformationSensorValue = ‘Op ‘ ..currentSetpoint.. ‘°’
    else
    ToonProgramInformationSensorValue = ‘Om ‘ ..os.date(‘%H:%M’, currentNextTime).. ‘ op ‘ ..currentNextSetPoint.. ‘°’
    end

    if domoticz.devices(ToonProgramInformation).text ~= ToonProgramInformationSensorValue then
    — domoticz.log(‘Updating Toon Program Information to: ‘..ToonProgramInformationSensorValue)
    domoticz.devices(ToonProgramInformation).updateText(ToonProgramInformationSensorValue)
    end
    end
    }

    P1 Energie-meting (slimme meter)

    Energie-meting, verbruik van elektra en gas, kun je via een P1-kabel naar je Toon laten versturen. Zelf heb ik ervoor gekozen om met een P1 USB-kabel deze gegevens direct naar Domoticz te sturen. Mocht je deze gegevens via Toon willen laten lopen, dan moet je regel 46, 47, 48, 50, 51, 52, 54, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 68 en 70 un-commenten.

    Tevens moet je op regel 51, 52, 57, 58, 59, 60, 61 en 62 het juiste dev_ nummer invullen. Het juiste nummer kun je vinden door onderstaande URL in te geven in een browser (uiteraard wel het IP van jouw Toon gebruiken):

    http://10.0.0.180/hdrv_zwave?action=getDevices.json

    Het is wat lastig om de juiste dev_nummers te vinden, maar met wat puzzelen moet het wel lukken (de nummers zijn helaas niet voor iedere Toon gelijk).

    Ook moet je nog even regel 20 en 21 un-commenten, en user variables aanmaken met dezelfde naam als in regel 20 en 21 staat.

    UV_P1SmartMeterElectra String Stroom
    UV_P1SmartMeterGasMeterStand String Gas

    Tot slot moet je nog een virtuele gas-sensor (naam: Gas) én een virtuele stroom-sensor (naam: Stroom) aanmaken.

    Testen

    Zodra alle dummy sensors, user variables en scripts goed zijn ingeladen kan er binnen de verschillende tabbladen in Domoticz informatie uitgelezen worden of instellingen ingesteld worden.

    Via het tabblad “Temperature” kan bij “ToonTemperature” de omgevingstemperatuur van de Toon worden uitgelezen. De sensor “ToonBoilerTempSetpoint” laat de temperatuur van de Boiler in de CVketel zien.

    Via het tabblad “Utility” kan bij “ToonThermostat” de temperatuur ingesteld worden welke daarna binnen enkele seconden doorgevoerd zou moeten worden in de Toon. De sensor “ToonProgramInformation” laat de ingestelde temperatuur zien. De sensor “ToonIP” laat het IP-adres van de Toon zien zoals eerder is ingesteld. De sensor Stroom en Gas laten het actuele verbruik zien en de meterstand.

    Via het tabblad “Switches” kan bij “ToonScenes” een scene ingesteld worden, bijvoorbeeld “Away” of “Sleep”.
    Ook kan er bij “ToonAutoProgram” ingesteld worden of het in de Toon ingestelde programma aan- of uitgezet moet worden. De sensor “ToonBranderInfo” laat zien of de CV-ketel gebruikt wordt voor CVverwarming(CV) of voor warm water (WW).

    De sensoren “ToonBoilerTempSetpoint” en “ToonBranderInfo” werken alleen als de Toon modulair is aangesloten op de CV-ketel.


  • Toon rooten via USB

    Bron: https://github.com/ToonSoftwareCollective/Root-A-Toon-USB-Stick Root een Toon 1 of Toon 2 met een USB-stick, niet met een Raspberry Pi (gebaseerd op de oplossing van Igor Ybema)



    Root-A-Toon-USB-stick

    Software voor het rooten van een (Nederlands/Belgische) Toon/Boxx met behulp van software die alleen vanaf een USB-stick draait.

    Na het rooten heb je geen abonnement meer nodig en heb je toegang tot een ToonStore met een groeiend aantal apps. Voor meer technische mensen is er een mogelijkheid om de Toon te ssh-en als ze dat willen met gebruikersnaam root en wachtwoord toon.

    Gebaseerd op Root-A-Toon van https://github.com/ToonSoftwareCollective/Root-A-Toon. En de mirror hier voor de zekerheid: https://colandino.nl/wp-content/uploads/2024/01/Root-A-Toon-USB-Stick-main.zip

    Ik heb de 2 scripts root-toon.sh en activatie-toon.sh aangepast zodat ze vanuit Kali draaien en vanaf een USB-stick kunnen worden opgestart.

    Net als bij de originele initiërende scripts, wordt het daadwerkelijk rooten gedaan door de zogenaamde ‘payload’-scripts die nog steeds worden onderhouden op https://github.com/ToonSoftwareCollective/Root-A-Toon.

    Ik heb het script setup_wifi.sh gemaakt om het delen van de bekabelde internetverbinding van je computer via Wi-Fi met je Toon te vereenvoudigen.

    Wat heb je nodig?
    Een geheugenstick van 4 GB en een Windows/Linux/macOS/OS X-computer (oude laptop) met een Ethernet-kaart en wifi.
    Details voor het maken van een USB-stick zijn beschikbaar op https://www.kali.org/docs/usb.

    Samenvatting voor het voorbereiden van een stick vanuit Windows (slechts 1 keer):

    Download een live iso van Kali Linux, dat is op dit moment waarschijnlijk http://old.kali.org/kali-images/kali-2021.4/kali-linux-2021.4-live-amd64.iso
    download rufus van https://rufus-portable.en.uptodown.com/windows of voor linux etcher https://etcher.balena.io/ welke ik zelf gebruik.
    USB-stick plaatsen
    begin Rufus
    zorg ervoor dat de juiste USB-stick is geselecteerd
    klik op SELECTEREN om naar de Kali ISO te bladeren die u hebt gedownload
    klik op Start en accepteer alle standaardantwoorden
    (in tegenstelling tot de Kali-site die voorstelt om dd te gebruiken en een extra partitie te maken)
    wacht tot iso is geschreven om te blijven hangen

    Toon rooten
    Om een Toon te rooten heb je de stick met Kali nodig die je eerder hebt gemaakt. Dus voor elke volgende keer dat je een Toon wilt rooten:

    • Start de pc of laptop die je wil gaan gebruiken om je toon te rooten op vanaf de kali usb stick
    • boot (opstarten) vanaf de Kali USB-stick (mogelijk moet u USB-opstarten in het BIOS inschakelen)
    • druk op enter in het blauwe Kali-opstartmenu
    • wacht op Kali met de menubalk bovenaan het scherm
    • in de linkerbovenhoek van Kali staat een zwart vakje met daarin een $-teken
    • klik daarop en in het venster voer je de volgende opdrachtregel in:

    git clone https://github.com/ToonSoftwareCollective/Root-A-Toon-USB-Stick.git
    cd Root-A-Toon-USB-Stick
    ./setup-wifi.sh

    • Lees en volg de instructies op het scherm
    • verbind uw Toon met de Wi-Fi genaamd ToonRouter
    • geen ToonRouter SSID?
    • Houd er rekening mee dat het enige tijd kan duren voordat de SSID verschijnt je kunt het ook op je telefoon testen natuurlijk. Ik moet de WiFi op mijn telefoon stoppen, 10-20 seconden wachten, zet het aan en wacht tot het verschijnt soms doe ik het in- en uitschakelen 3 keer voordat ik het zie ‘geduld is een schone zaak’ wanneer je erachter komt dat je Toon geactiveerd moet worden voordat je kunt rooten:

    Activeren

    Wanneer je erachter komt dat je Toon geactiveerd moet worden voordat je kunt rooten:

    Voer dan uit deze opdracht uit:
    ./activate-toon.sh lees en volg de instructies op het scherm, nu ben je klaar om je Toon te rooten:

    Rooten start je met: ./root-toon.sh lees en volg de instructies op het scherm.

    Proefdraaien met rooten

    Om een roottest te starten die de Toon nog niet wijzigt, kunt u de sudo bash root-toon.sh-test uitvoeren
    Dit genereert 2 berichten op uw Toon en start de GUI opnieuw op als de toegang succesvol is.

    Rooting uitvoeren
    Om de Toon toch te rooten, kun je sudo bash root-toon.sh root gebruiken
    Hiermee wordt de ‘payload’ gedownload zoals onderhouden op https://github.com/ToonSoftwareCollective/Root-A-Toon en wordt je Toon geroot met de nieuwste versie van deze scripts.

    Eigen payload verzenden
    Om je eigen script als ‘payload’ naar de Toon te sturen, kun je sudo bash root-toon.sh yourpayloadfile uitgeven
    Voor demodoeleinden heb ik een payload-bestand met de naam ‘check’ toegevoegd dat je kunt uitvoeren met sudo bash root-toon.sh check
    Dit genereert 4 berichten op het scherm van je Toon als de toegang succesvol is.

    Veel suc6
    Vragen of hulp nodig laat het weten


    Aansluiting TOON thermostaat op de Ferroli BlueCity 300 (stadsverwarming)

    (Ik ga deze zelf gebruiken op de stadsverwarming met unit/ketel [Ferroli BlueCity 300] welke voorheen werkte met de Essent E-Thermostaat – ICY) Hier de handleiding voor de Ferroli BlueCity 300

    Aansluiten TOON thermostaat op de Ferroli BlueCity 300 (stadsverwarming)

    De volgende stap is je Toon bedienen via Domoticz