• Tag Archieven Domoticz
  • 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


  • Shelly 1PM WiFi schakelaar toevoegen in Domoticz

    Met de Shelly 1PM is een compacte schakelaar welke je niet alleen als schakelaar kunt gebruiken, maar ook om het stroomverbruik te meten. Deze slimme schakelaar is dus uitermate geschikt om te gebruiken als lichtschakelaar of om het stroomverbruik te meten van de wasmachine of wasdroger. Tevens is hij eenvoudig te integreren in Domoticz, Home Assistant of een ander huisautomatiseringssysteem.

    De Shelly 1PM is eenvoudig te installeren achter een stopcontact of wandschakelaar (handig voor als je kinderen nog steeds niet weten dat een lichtschakelaar ook bedoeld is om het licht uit te doen). De Shelly 1PM werkt op een spanning van 110-230VAC of 24-60VDC bij maximaal 16A/3500W. Genoeg dus om het stroomverbruik van de wasmachine of wasdroger te meten.

    Zodra je de Shelly 1PM hebt gemonteerd en hebt geactiveerd is het tijd om hem in Domoticz te installeren. Hiervoor maken we gebruik van MQTT, wat staat voor Message Queue Telemetry Transport. Indien MQTT al is geïnstalleerd op je Raspberry Pi kun je de eerste @ stappen overslaan.

    1. Update de Raspberry Pi naar de laatste versie via de terminal

    sudo apt-get update

    sudo apt-get upgrade

    2. Installeer Mosquitto

    sudo apt-get install mosquitto mosquitto-clients

    3. Installeer Python 3.5

    cd domoticz/plugins
    git clone https://github.com/enesbcs/Shelly_MQTT.git

    4. Herstart de Raspberry Pi

    sudo reboot

    5. Open Domoticz via de browser

    Ga naar http://domoticz-ip:8080

    6. Open de Hardware interface

    Ga in het menu naar Instellingen  Hardware om nieuwe hardware toe te voegen aan Domoticz.

    7. Voeg nieuwe hardware toe

    Voeg nieuwe hardware toe en neem onderstaande instellingen over.

    Instellingen MQTT Client Gateway LAN interface

    Naam: Geef de hardware een herkenbare naam. Bijvoorbeeld MQTT.
    Remote address: Vul het IP-adres van Domoticz in. Bijvoorbeeld 192.168.178.29
    Gebruikersnaam: Vul een gebruikersnaam in.
    Wachtwoord: Vul een wachtwoord in.
    Publish Topic: Stel in op Flat.

    8. Voeg Shelly MQTT hardware toe

    Selecteer Shelly MQTT uit de Hardwarelijst en neem onderstaande gegevens over.

    Instellingen Shelly MQTT

    MQTT Server address: Vul het IP-adres in van Domoticz (zie stap 7).

    Vul de gebruikersnaam en wachtwoord in welke je in stap 7 hebt ingevoerd.

    Om de Shelly 1PM schakelaar weer te geven bij Apparaten dienen we in de instellingen van de schakelaar nog wat aan te passen.

    9. Instellen MQTT in Shelly 1PM

    Ga naar http://IP-adres van je Shelly 1PM

    Klik vervolgens op Internet & Securety en ga naar ADVANCED-DEVELOPER SETTINGS en neem de onderstaande gegevens over.

    MQTT instellen op Shelly 1PM
    MQTT instellen op Shelly 1PM

    Vul de gebruikersnaamwachtwoord en server in welke je in stap 7 hebt ingevoerd.

    Klik op SAVE om de wijzigingen op te slaan.

    Als het goed is krijg je nu de Shelly 1PM te zien onder Apparaten in Domoticz. Zie je de schakelaar nog niet verschijnen in Domoticz, reboot dan voor de zekerheid nog een keer de Pi.


  • 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……


  • 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


  • AURIOL® Weerstation met radio en aparte wind- en regenmeter

    Premium weerstation voor een nauwkeurige weersvoorspelling, afgeven van weeralerts en opslaan van weerdata (bij LIDL voor €50)

    Met wind- en regenmeter

    Productbeschrijving

    • Deze set bestaat uit een weerstation met 2 separate meetinstrumenten voor een nauwkeurige observatie en evaluatie van het weer
    • Met 2 spatwaterdichte (IPX4) outdoor instrumenten die wind en regen meten en doorgeven aan het weerstation met draadloze gegevensoverdracht tot 25 meter via radio
    • De radiogestuurde klok heeft een automatische tijdsaanpassing aan de winter- en zomertijd
    • Met verlicht en duidelijk LCD-display voor de weersvoorspelling, weeralerts en weerdata-opslag
    • Inclusief wekker met snooze-functie
    • Het apparaat meet onder andere: Windrichting en windsnelheid in m/s, km/h of mph
    • Dagelijks regenval en weekoverzicht in mm of inch
    • Barometer met 6-uur durende cursus in mb, hPa of inHg
    • Binnen- en buitentemperatuur in °C of °F
    • Warmte-index ‘gevoelstemperatuur’ in °C of °F
    • Dauwpunt (nuttig om vorst bij de grond te voorspellen)

    Lees verder  Bericht ID 5410


  • Dagelijkse backup van Domoticz naar een externe harddisk 1

    Zodra je Domoticz heb geïnstalleerd wil je natuurlijk ook backups kunnen maken. Een dagelijkse backup van Domoticz maken kan eenvoudig via de ingebouwde functie. Deze backup wordt ieder uur, dag en maand automatisch weggeschreven naar de folder /home/pi/domoticz/backups/. Je hoeft hiervoor alleen maar Enable Automatic Backup aan te vinken. Echter, indien de geheugenkaart van de Raspberry Pi crasht kun je deze backups niet meer gebruiken en ben je alsnog het spreekwoordelijke haasje. In dit artikel gaan we in op verschillende backup scripts, allemaal met een eigen functie.

    Wat heb je nodig:

    Buiten je raspberry Pi heb je een externe schijf nodig, maar beter is een NAS.

    Als voorbereiding even het volgende:

    1. Zoek op je Network Attached Storage (NAS) of externe harddisk een folder waar je de backup van Domoticz wilt gaan opslaan.
    2. Zorg ervoor dat FTP ingeschakeld is en dat je de inloggegevens bij de hand hebt.
    3. Stel in Domoticz een gebruikersnaam en wachtwoord in (website protection) en stel Local Networks (no username/password) in.

    Lees verder  Bericht ID 5410


  • Speedtest op Raspberry Pi in Domoticz

    Een speedtest op je Raspberry PI onder Domoticz, dat is handig! Hier leggen we uit hoe je geheel automatisch je ping, download- en uploadsnelheid kunt loggen.

    Het script maakt gebruik van de Python module speedtest-cli om de internetsnelheid via speedtest.net te testen.

    Python module

    Allereerst gaan we de Python module speedtest-cli installeren via de terminal:

    sudo apt-get install speedtest-cli

    Virtuele sensoren

    Ga naar Instellingen > Hardware, scrol hier naar beneden en vul daar in:

    Speedtest, kies voor Dummy hardware en klik op toevoegen.

    Je hebt deze dummy hardware nu aangemaakt, klik nu in de regel “speedtest” op maak virtuele sensoren. Lees verder  Bericht ID 5410


  • Sonoff Basic (Tasmota)

    Sonoff Basic Wifi Schakelaar 10A - 2200W Wifi Relais Module
    Sonoff Basic Wifi Schakelaar 10A – 2200W Wifi Relais Module

    De Sonoff  Basic Wifi Schakelaar is een Wifi Relais Module met volgende eigenschappen:

    • Transmission mode: Wi-Fi
    • Input voltage: AC 90-250V
    • Channel: 1 Channel
    • Power: 10A/2000W
    • Wireless Standard: IEEE 802.11 b/g/n

    Standaard is deze Sonoff Wifi schakelaar voorzien van eigen software. Het mooie van dit apparaat is, dat het een ESP8266 gebaseerd apparaat is, waar ook andere software in gezet kan worden.

    Ik heb hiervoor gekozen voor de firmware van Tasmota (https://github.com/arendst/Sonoff-Tasmota)

    Firmware vervangen

    Om de firmware te vervangen, dien je het apparaat open te maken en zal de garantie vervallen! Het is ook niet meer mogelijk om terug te gaan naar de originele software. Aangezien de Sonoff ongeveer € 5,00 kost, vind ik dat niet zo spannend.


    <– Advertentie-blok –>


    <– Einde advertentie-blok –>


    Lees verder  Bericht ID 5410


  • Sonoff Touch T1 UK 3 gangen Wifi schakelaar

    De Sonoff T1 Muur Touch Schakelaar serie met zijn 3 gangen touch is een luxe smart lichtschakelaar.
    De draadloze wandschakelaar kan worden toegevoegd via de iOS/Android App van eWeLink via WiFi, zodat gebruikers op afstand de verlichting aan / uit kunnen schakelen. De verlichting/apparaten op de 3 verschillende gangen zijn op elke moment afzonderlijk te schakelen.
    Met de App eWeLink, kunt u schakelen en timers aanmaken om automatisch aan en uit te schakelen, wij gaan de software vervangen voor die van Tasmota en deze dan bedienen met Domoticz.

    Kenmerken:

    • Touch ON/OFF
    • App Remote ON/OFF
    • 433 MHz RF Remote ON/OFF
    • geplande/Countdown Timers
    • werkt Met Nest
    • werkt Met Alexa
    • werkt Met Google Thuis

    Specificaties:

    • Voeding: 90 V-250 V AC
    • Max. Stroom: 2A/250 V/gang
    • Max. Power: 600 W/gang
    • draadloze Standaard: WiFi 2.4 GHz & 433 MHz RF
    • materiaal: ABS V0 + Gehard Glas Panel
    • dimensie: 86mm * 86mm
    • gewicht: 130.0g

    Standaard is deze Sonoff Wifi schakelaar voorzien van eigen software. Het mooie van dit apparaat is, dat het een ESP8266 gebaseerd apparaat is, waar ook andere software in gezet kan worden.

    Ik heb hiervoor gekozen voor de firmware van Tasmota (https://github.com/arendst/Sonoff-Tasmota)

    Firmware vervangen

    Lees verder  Bericht ID 5410