• Categorie archieven Smart Home
  • 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


  • MQTT Broker installeren op de Rapsberry Pi

    http://www.sigmdel.ca/michel/ha/ha_add_mqtt_en.html

    Since the Raspberry Pi hosting the home automation software will always be on, it makes sense that it should host the MQTT broker. One of the best known Open source MQTT broker is Mosquitto which is what I installed following the instructions found on that site.

    Lees verder  Bericht ID 5410


  • Domoticz installeren op Linux Mint of Ubuntu

    Domoticz is natuurlijk het meest ideaal op een Raspberry Pi, deze kan dag en nacht draaien met een heel laag stroomverbruik, heeft geen koeling nodig, is klein, maakt geen geluid en zo zijn er nog vele voordelen te verzinnen.

    Maar om deze ook op je desktop te installeren zijn ook wel wat redenen voor te verzinnen, testen, templates bouwen, enz.

    Op linux is dat simpel uit te voeren, er is geen .Deb bestand

    Open een terminal met bijvoorbeeld ‘putty’ en voer uit:

    curl -L https://install.domoticz.com | bash

    Binnen 5 minuten klaar…


    Of je kan deze ook handmatig compileren, dat is wat meer werk….. maar op onderstaande wijze is het in een half uurtje voor elkaar.

    Voer dan uit:

    sudo apt-get install build-essential -y
    sudo apt-get install libboost-dev libboost-thread-dev libboost-system-dev libsqlite3-dev subversion curl libcurl4-openssl-dev libusb-dev zlib1g-dev python3-dev
    sudo apt-get install cmake
    sudo apt-get install git
    git clone https://github.com/domoticz/domoticz.git domoticz
    cd domoticz
    git pull
    cmake -DCMAKE_BUILD_TYPE=Release .

    make

    Dit kan even duren, wacht rustig af, ik doe dat meestal met een kopje koffie en een sigaartje……


  • MQTT installeren en configureren in Domoticz

    De eerste pagina die we moeten volgen is Domoticz MQTT wiki.

    Log in op je Domoticz server, ik mijn geval een Raspberry Pi, en ik gebruik daarvoor Putty.
    We gaan eerst alles updaten en dan de volgende pakketten installeren: NPM, Node.js, Node RED en Mosquitto.
    sudo apt update

    sudo apt dist-upgrade

    sudo apt install npm cmake uuid-dev libwebsockets-dev libssl1.0.2

    apt-get install mosquitto mosquitto-clients

    sudo npm install npm@latest -g

    curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

    sudo apt install -y nodejs

    sudo npm install -g mqtt url request nodemon

    sudo npm install -g --unsafe-perm node-red

    sudo apt install mosquitto mosquitto-clients

    sudo npm install node-domoticz-mqtt
    Lees verder  Bericht ID 5410


  • Zonnepanelen

    Mono en poly
    Monokristallijn & Polykristallijn panelen herkennen

    Zonnepanelen zetten licht om in elektrische spanning. Dat noemen we een fotovoltaïsche reactie, daarom heten zonnepanelen ook wel fotovoltaïsche (in Engels photo voltaic), of PV-systemen. Met de elektrische spanning wordt elektriciteit (stroom) opgewekt.

    Hoe werken zonnepanelen?

    Al in 1839 ontdekte de Franse natuurkundige Becquerel dat het mogelijk is om elektriciteit op te wekken uit zonlicht. Dit heet het photovoltaïsch effect. In de meeste systemen wordt hiervoor silicium (een halfgeleider) gebruikt. Energie van de zon kan elektronen losmaken in het silicium. Hierdoor ontstaat spanning in een zonnecel. Door meerdere zonnecellen achter elkaar te schakelen in een zonnepaneel kan er stroom gaan lopen. Voor het opwekken van stroom hebben zonnepanelen niet per se direct zonlicht nodig.

    Ook op een bewolkte dag levert een zonnecel elektriciteit.

    Zonnepanelen zijn duurzaam: ze zetten zonne-energie om in stroom. Daarvoor hoeft de zon niet fel te schijnen: ook op een bewolkte dag leveren jouw panelen elektriciteit. De populairste zonnepanelen zetten 12 tot 16 procent van het zonlicht dat erop valt om in elektriciteit. In 2 jaar heeft een zonnepaneel al meer energie bespaard dan het kostte om het paneel te maken. Daarna leveren jouw zonnepanelen nog 23 jaar milieuwinst!

    Watt-piek! Lees verder  Bericht ID 5410


  • Slimme meter uitlezen met je Raspberry Pi

    Geplaatst op door colani 1 Reactie

    Tegenwoordig heeft bijna iedereen een slimme meter in de meterkast. Met een Raspberry Pi, een kabeltje en software kun je gemakkelijk de gegevens uit de slimme meter ophalen, zodat je het stroom- en gasverbruik gedetailleerd in kaart kunt brengen. In dit artikel laten we zien hoe je dit kunt doen met de software P1 monitor en Domoticz.

    Iedereen een slimme meter

    Al ruim drie miljoen huishoudens hebben tegenwoordig een slimme meter. Die meet je stroomverbruik en geeft dit samen met de standen van de gasmeter door via het mobiele netwerk. Handig voor de energieleverancier en netbeheerder, die verbruiksgegevens kunnen uitlezen en inzicht krijgen in pieken of storingen op het energienet. Maar ook handig voor jou, omdat je meer inzicht kunt krijgen in je verbruik en bijvoorbeeld de teruggave van zonnepanelen. Behalve via een internetportaal van je energieleverancier of een onafhankelijke dienst kun je ook zelf via de datapoort op de slimme meter, de zogenaamde P1-poort, het verbruik bijhouden.

    Lees verder  Bericht ID 5410


  • Wat is NFC en wat kan ik ermee doen op mijn telefoon?

    NFC. Een begrip dat ons de laatste jaren om de oren vliegt en een technologie die steeds meer gebruikt wordt. Toch heeft NFC – in tegenstelling tot Azië en andere delen van Europa- in Nederland nog niet het grote publiek bereikt. Benieuwd wat het precies is en wat je ermee kan? Wij vertellen je er meer over.

    Wat is NFC?

    NFC is de afkorting van ‘Near Field Communication’. Dit wil zeggen dat NFC een contactloze manier voor het uit wisselen van informatie (field communication) is tussen twee apparaten. En dat binnen een hele korte afstand (near), van maximaal 10 centimeter. Steeds meer apparaten hebben een NFC-tag. Op dit moment wordt de technologie bijvoorbeeld veel gebruikt in pasjes, ter vervanging van vervoersbewijzen en hotelkamersleutels. Ook beschikken bijna alle telefoons tegenwoordig over een NFC-tag. Lees verder  Bericht ID 5410


  • Letscontrolit plugin lijst

    De lange lijst met plugins die ESP Easy ondersteund. (Alleen die met status NORMAAL)

    Nummer Status Type Github link
    P001 NORMAL Switch Input P001_Switch.ino
    P002 NORMAL Analog Input P002_ADC.ino
    P003 NORMAL Generic P003_Pulse.ino
    P004 NORMAL Environment P004_Dallas.ino
    P005 NORMAL Environment P005_DHT.ino
    P006 NORMAL Environment P006_BMP085.ino
    P007 NORMAL Extra IO P007_PCF8591.ino
    P008 NORMAL RFID P008_RFID.ino
    P009 NORMAL Extra IO P009_MCP.ino
    P010 NORMAL Light/Lux P010_BH1750.ino
    P011 NORMAL Extra IO P011_PME.ino
    P012 NORMAL Display P012_LCD.ino
    P013 NORMAL Distance P013_HCSR04.ino
    P014 NORMAL Environment P014_SI7021.ino
    P015 NORMAL Light/Lux P015_TSL2561.ino
    P016 NORMAL Communication P016_IR.ino
    P017 NORMAL RFID P017_PN532.ino
    P018 NORMAL Dust P018_Dust.ino
    P019 NORMAL Switch input P019_PCF8574.ino
    P020 NORMAL Communication P020_Ser2Net.ino
    P021 NORMAL Regulator P021_Level.ino
    P022 NORMAL Extra IO P022_PCA9685.ino
    P023 NORMAL Display P023_OLED.ino
    P024 NORMAL Environment P024_MLX90614.ino
    P025 NORMAL Analog input P025_ADS1115.ino
    P026 NORMAL Generic P026_Sysinfo.ino
    P027 NORMAL Energy (DC) P027_INA219.ino
    P028 NORMAL Environment P028_BME280.ino
    P029 NORMAL Output P029_Output.ino
    P030 NORMAL Environment P030_BMP280.ino
    P031 NORMAL Environment P031_SHT1X.ino
    P032 NORMAL Environment P032_MS5611.ino
    P033 NORMAL Generic P033_Dummy.ino
    P034 NORMAL Environment P034_DHT12.ino
    P035 NORMAL Communication P035_IRTX.ino
    P036 NORMAL Display P036_FrameOLED.ino
    P037 NORMAL Generic P037_MQTTImport.ino
    P038 NORMAL Output P038_NeoPixel.ino
    P039 NORMAL Environment P039_Thermocouple.ino
    P040 NORMAL RFID P040_ID12.ino
    P041 NORMAL Output P041_NeoClock.ino
    P042 NORMAL Output P042_Candle.ino
    P043 NORMAL Output P043_ClkOutput.ino
    P044 NORMAL Communication P044_P1WifiGateway.ino
    P045 NORMAL Gyro P045_MPU6050.ino
    P049 NORMAL Gases P049_MHZ19.ino
    P052 NORMAL Gases P052_SenseAir.ino

    Bron: https://www.letscontrolit.com/wiki/index.php/Official_plugin_list


  • Eminent heeft een nieuw alarmsysteem

    Eminent presenteerde in de eerste week van mei hun nieuwe GSM Alarmsysteem: het EM8710 868MHz Long Range Draadloos GSM Alarmsysteem. De EM8710 is gebaseerd op GSM en heeft een ingebouwde back-up batterij en sirene.

    Je installeert het 868MHz Long Range Draadloos GSM Alarm-systeem gemakkelijk zelf. Er is geen abonnement nodig en er zijn geen vaste maandelijkse kosten (afhankelijk of je natuurlijk een prepaid simkaart of abonnement gebruikt). Met de meegeleverde accessoires (een bewegingsmelder, deur/raamcontact, afstandsbediening en twee RFID tags) is deze EM8710 starterkit een goede basis om je huis te beveiligen. Bij een alarm worden vijf personen gewaarschuwd door middel van een SMS bericht of telefoontje. Lees verder  Bericht ID 5410