Homey Community Forum

Toon en Homey

Ahh op die manier, ehm er zit in Toon wel een brander status. Opzich zou het mogelijk moeten zijn die uit te lezen (het vlammetje op het Toon scherm) maaaaaaar dan moeten we een nieuwe status aan de code toevoegen. Probleem alleen, heb wel weer een Toon hangen aan mijn muur, maar heb hem nog niet opengemaakt.
De snelle oplossing: Http request uitvoeren vanuit je Homey (met timer trigger) naar: http://{{ToonIP}}/happ_thermstat?action=getThermostatInfo uit het antwoord de brander status halen en als deze boven 0% is dan een actie uitvoeren

Ow btw houdt er rekening mee dat je pomp wel minimaal elke 24 uur even draait (anders gaat hij stuk)

Dat doe ik inderdaad minimaal 15 minuten per dag, ook in de zomer. Ben niet zo thuis in json, get & post flows. Welke zou ik moeten hebben?

http

Ik heb dit probleem wat kan dit zijn ?
Warning: Trying to access Homey.env.HOMEY_LOG_URL but the environment variable has not been set!
2020-12-18 15:31:52 [log] [ToonApp] nl.vinceste.open-toon running…
2020-12-18 15:31:52 [log] [ManagerDrivers] [open-toon] onInit() -> complete, Flow Cards registered
2020-12-18 15:31:52 [log] [ManagerDrivers] [open-toon] [0] name: Toon
2020-12-18 15:31:52 [log] [ManagerDrivers] [open-toon] [0] class: thermostat
2020-12-18 15:31:52 [err] [ManagerDrivers] [open-toon] [0] failed to retrieve status update 404 - “\n<html lang=“en”>\n\n<meta charset=“utf-8”>\nError\n\n\n

Cannot GET /happ_thermstat
\n\n\n”
2020-12-18 15:31:52 [err] [ManagerDrivers] [open-toon] [0] failed to retrieve status update 404 - “\n<html lang=“en”>\n\n<meta charset=“utf-8”>\nError\n\n\n
Cannot GET /happ_pwrusage
\n\n\n”
2020-12-18 15:31:52 [err] [ManagerDrivers] [open-toon] [0] failed to retrieve status update 404 - “\n<html lang=“en”>\n\n<meta charset=“utf-8”>\nError\n\n\n
Cannot GET /hdrv_zwave
\n\n\n”
2020-12-18 15:31:52 [log] [ManagerDrivers] [open-toon] [0] init ToonDevice
2020-12-18 16:08:51 [log] [ManagerDrivers] [open-toon] [0] onCapabilityTargetTemperature() temperat

Is je Toon wel geroot?

Hoi Peter
ja dat is hij de oplossing was homey app run --clean

1 Like

Het lijkt er op dat je op een ander apparaat uit kwam.
Heeft de Toon een vast IP adres en/of is er een reservering in de router/DHCP server?

Het lijkt erop dat dit het open-toon app topic is geworden dus vraag ik het even hier.

Ik ben(“was”) al een tijdje gebruiker van de app en heeft goed gewerkt altijd, alleen laatst mijn Homey geleegd ivm vreemde problemen.
(Bleek helaas de bekende power adapter problemen te zijn dus voor niks geleegd)

Nu heb ik de app weer geïnstalleerd.
Ik kom er nu alleen gek genoeg niet meer uit hoe ik hem toevoeg, IP en “naam” van het apparaat.
Maar nu vermoed ik dat het fout gaat op die naam bij mij, hoe afhankelijk is het hiervan, gebeurt het niet gewoon op ip?
Knop verbind lijkt niks te doen, ik kan in de logs die toon heeft helaas ook niet veel vinden of er wel wat gebeurt.

Goededag,

Als volkomen leek op dit gebied is het mij prima gelukt om Homey en mijn geroote toon aan het werk te krijgen en te koppelen. Dankzij dit forum en mede dankzij dit draadje. Waarvoor dank. Prima geroggeld zo.

Echter ik krijg zoals een aantal van jullie hier de meterwaarden niet door in Homey. Nu ben ik zover dat ik begrijp dat er dan aanpassingen gedaan moeten worden in device.js door het vervangen van een waarde die lijkt op dev_4.1 of zo.
Nu heb ik in mijn device.js gekeken maar daar zie ik allerlei verschillende dev_x.y staan.

Namelijk dev_2.4, dev_2.2 en dev_2.6 etc.
Nu heb ik ook het commando uitgevoerd om alle informatie vanuit mijn gerookte toon te krijgen. Maar ook daar zie ik verschillende dev_a.b staan. Welke moet ik nu waar invullen om het werkend te krijgen.

Ik heb wel een flow gemaakt die om de 30 seconden alle waardes updates (met drie kaartjes) Zie ook bijlage. Heb hier alle update commando’s ingezet, dan zit de goede er zeker bij. 30 seconden is omdat ik anders te lang moet wachten. Dat ga ik straks naar 15 minuten terugbrengen als alles werkt.

Hopelijk kan iemand deze nitwit hiermee verder helpen en hoe krijg ik dan straks de aanpaste file weer op mijn homey?
Overigens wordt wel het vermogen doorgegeven. Dat werkt dan wel weer. Zie laatste plaatje.
Viel mij op dat in het tweede plaatje hieronder bij “Check for powerusage” nog de tekst “this.log (Update gas usage”)". Denk dat hier "Power usage"moet staan of ga ik hier de mist in?




Bij voorbaat dank voor uw hulp.
Tom.

Welkom op het forum.
Ik meen dat ik destijds de app gedownload heb van github. Daarna handmatig heb aangepast en via cli weer op homey heb geïnstalleerd.

Dank je.

De methode van installeren en zo is me wel gelukt. De software komt idd van GitHub.
Maar Homet krijgt geen waarden binnen voor stroom en gas van de Toon. Nu las ik in het artikel dat er dan bepaalde device ID’s aangepast moesten worden. Maar ik kom zowel in mijn uitvoer als ook in de software code veel van dat soort code tegen en heb geen idee wat ik waar in moet vullen.
Hopelijk is mijn probleem zo wat duidelijker.

Alvast bedankt.

Ik heb het gevonden. Ik heb vandaag de code verder zitten uitpluizen die ik terug krijg van uit mijn toon.
Dat heb ik allemaal in stukjes gehakt en daar werd het me duidelijk. Het gaat alleen om het getal voor de punt. Dus bij dev_3.1 gaat het dus om de “3”. Overal in de code het cijfer wat er stond in een “3” aangepast en het wonder is geschied. Ik heb waardes in mijn scherm staan.
Helmaal top. Super draadje dit.

Nu nog even de snelheid waarmee de waardes worden opgehaald naar 15 minuten zetten of zo ipv 30 seconden.
Helemaal top.
Thanks.


Schermafbeelding 2021-05-20 om 21.20.31

2 Likes

Goed dat je het gelukt is.:+1: Ik had helaas niet de mogelijkheid snel te reageren.

1 Like

Geen probleem hoor.
Thanks.

I fine tuned the Homey Scripts for pulling the data from BoilerText, ThermostatInfo and AirSensor.
If people have any smarter solutions/ more info or ideas how data is processed, I’m fully open for this.

I run these scripts on top of the (unsupported) OpenToon app (manually installed and also had to make changes in the code of the app itself because of the issue described in post #91.

Change the IP for the IP of your Rooted Toon.

AirSensor Info
Runs every 15min. Picks up TVOC, Humidity, CO2, Intensity, only available on Toon2
Within the flow, the value are added to a virtual device

 `//Get Toon AirSensor info`
var url = "http://192.168.1.9/tsc/sensors";

(async () => {
     const rawResponse = await fetch(url, {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
  });

  const content = await rawResponse.json();
  console.log(content);

  if (content.humidity !== null && content.humidity != '') 
  {
    var humidity = content.humidity ;
    await tag("Humidity", humidity);    
    
    var tvoc = content.tvoc
    await tag("TVOC", tvoc);

    var eco2 = content.eco2
    await tag("ECO2",eco2);

    var intensity = content.intensity
    await tag("intensity",intensity);
  }

console.log("TVOC : " + tvoc)
console.log("Humidity : " + humidity)
console.log("CO2 : " + eco2)
console.log("Intensity : " + intensity)

})();
return true;

BoilerText
Runs every 6 hours, just to pick up system pressure. More info is available, but i do not find those interesting. Unfortunately, Boiler Temp In and Boiler Temp Out are no longer available in Toon
//Get Toon BoilerText info

var url = "http://192.168.1.9/boilerstatus/boilervalues.txt";
(async () => {
     const rawResponse = await fetch(url, {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
  });
  const content = await rawResponse.json();
  //console.log(content);

  if (content.boilerSetpoint !== null && content.boilerSetpoint != '') {
    var boilerPressure = content.boilerPressure ;
  //  console.log(boilerPressure);

    await tag("boiler_druk",  boilerPressure);
  //  console.log(boilerPressure )
  }
})();
return true; 

ThermosStatInfo
Pulls the boiler state, the programm, the next programm and at what times these will change.
Runs every minute, i use the BoilerState to control my Floor Heating Pump.

//Get Toon ThermosStatInfo

var url = "http://192.168.1.9/happ_thermstat?action=getThermostatInfo";
(async () => {
     const rawResponse = await fetch(url, {
    method: 'GET',
    headers: {
      'Accept': 'application/json',
      'Content-Type': 'application/json'
    },
  });
  const content = await rawResponse.json();
  //console.log(content);

  if (content.boilerSetpoint !== null && content.boilerSetpoint != '') {
    var burnerInfo = content.burnerInfo*1;
    var boilerModulationLevel = content.currentModulationLevel*1;
    var currentInternalBoilerSetpoint = content.currentInternalBoilerSetpoint*1;
    var activeState = content.activeState*1;
    var nextState = content.nextState*1;
    var nextSetpoint = content.nextSetpoint/100
    var nextTime = content.nextTime*1

    
   secondsToday = nextTime - Math.floor(nextTime/3600/24) *3600 *24
   FullHours = Math.floor( secondsToday / 3600 )
   FullMinutes = ((secondsToday - FullHours *3600)/60)
    
    if      (burnerInfo == 1) {burnerMode = 'CV aan'}
    else if (burnerInfo == 0) {burnerMode = 'CV uit'}
    else                      {burnerMode = 'Warm Water'};

    if      (activeState == 0) {Mode = 'Comfort'}
    else if (activeState == 1) {Mode = 'Thuis'}
    else if (activeState == 2) {Mode = 'Slapen'}
    else if (activeState == 3) {Mode = 'Weg'}
    else                       {Mode = 'Geen Stand'};

    if      (nextState == 0) {NMode = 'Comfort'}
    else if (nextState == 1) {NMode = 'Thuis'}
    else if (nextState == 2) {NMode = 'Slapen'}
    else if (nextState == 3) {NMode = 'Weg'}
    else                     {NMode = 'Geen Stand'};


    await tag("nextSetpoint", nextSetpoint);
    await tag("modulation", boilerModulationLevel);
    await tag("Boiler_Setpoint", currentInternalBoilerSetpoint);
    await tag("burnercode",  burnerInfo);
    await tag("burnermode",  burnerMode);
    await tag("mode", Mode);
    await tag("Nmode", NMode);
    await tag("TimeNextProgram",  FullHours+":"+FullMinutes);

    console.log("burnerMode : " + burnerMode);
    console.log("Programma : " + Mode);
    console.log("Volgend Programma : " + NMode);
    console.log("Next_Setpoint : " + nextSetpoint);
    console.log("Boiler_Setpoint : " + currentInternalBoilerSetpoint);
    console.log('Burner Info : ' + burnerInfo)
    console.log('Burner Modulation : ' + boilerModulationLevel)
    console.log('Tijd : ' + FullHours+":"+FullMinutes)

  }
})();
return true;

Hier ook een tevreden gebruiker, even de waarden aangepast in de device.json en werken als een malle.

ik heb een kwh bruto productie meter op mijn zonnepanelen zitten, aangesloten op de s0 poort van de toon meet module. is er iemand die deze waarders ook integreren in de homey?

keep up the good work!

ik wil ook een te vrede gebruiker worden.
wat is de makkelijkste methode om de device.json uit de rootedtoon te krijgen ?

en waar moet ik mee opletten om de info aan te passen?

in homey zie ik alleen de kw verbruik meter.

alle meters zijn zichtbaar maar geven geen waarde aan.
en wil eigenlijk proberen alles zichtbaar te maken

Hi all, zelf aan testen met een ‘rooted’ Toon v2.
Vraagje, zou het ook mogelijk zijn om een Youless via P1 te gebruiken om de waardes van gas/energie daarvan op Toon weer te geven? Weet iemand dat toevallig? dan hoef ik die adapter namelijk niet te gebruiken, maar kan ik het wel aflezen op de toon display.

Ik denk het niet. Maar ik denk dat je je vraag beter hier kunt stellen:
https://www.domoticaforum.eu/viewforum.php?f=94&start=0

Niet wat je bedoeld denk ik, maar als alternatief kun je Toon en Youless tegelijk aansluiten via een actieve P1 splitter.

1 Like