Homey Community Forum

Stoom & Gas verbruik uitlezen Rooted Toon

Hallo,

Ik zoek een manier om via HomeyScript de data van mijn Toon om te zetten naar een Tag.
via dit topic ben ik al wat verder.
Maar het lukt me niet om ook het stroom en gas verbruik om te zetten.
Helaas heb ik niet genoeg kennis om een script te schrijven. Lezen en aanpassen gaat wel maar veel verder kom ik niet.

Dus mijn vraag heeft iemand hier al een script voor draaien of tips om een script te maken (met w3schools.com kom ik er niet uit :blush:)?

Met deze link krijg ik de data uit de Toon.

http://Toon-IP/happ_pwrusage?action=GetCurrentUsage

{“result”:“ok”,
“powerUsage”: {“value”:350, “avgValue”:535.73},
“powerProduction”: {“value”:0, “avgValue”:0.00},
“gasUsage”: {“value”:0, “avgValue”:18.01}
}

Dit wil ik aan een Virtual-Device koppelen zodat in de Homey app kan zien.

Alvast bedankt voor het meedenken.

Groeten Nick

Laat maar…

Geen idee of het helemaal goed is qua opbouw maar het werkt.

// Get Toon info
var url = "http://192.168.1.11/happ_pwrusage?action=GetCurrentUsage";
(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.powerUsage !== null && content.powerUsage != '') {
    var stroom = content.powerUsage.value;
    var avgstroom = content.powerUsage.avgValue;
    var gas = content.gasUsage.value;
    var avggas = content.gasUsage.avgValue;
    await setTagValue("toon_stroom", {type: "number", title: "Stoom van Toon®"}, stroom);
    await setTagValue("toon_avgstroom", {type: "number", title: "Stoom Gemiddeld van Toon®"}, avgstroom);
    await setTagValue("toon_gas", {type: "number", title: "Gas van Toon®"}, gas);
    await setTagValue("toon_avggas", {type: "number", title: "Gas Gemiddeld van Toon®"}, avggas);
  }
})();
return true;

Bedankt, voor het delen van je script.:+1:
Ik ga ook een poging wagen dit te gebruiken. Ik zou zo ook mijn zonnepanelen willen monitoren. En evt temp instellen en boiler settings uitlezen. Dit kon ik icm domotica vrij eenvoudig. Mbv een stuk lua code.
Nu nog een handige Harry die er een mooie app voor schrijft.

var power = content.gasUsage.avgValue;
var avgpower = content.gasUsage.avgValue;

await setTagValue("toon_power", {type: "number", title: "Zonnepanelen van Toon®"}, power);
await setTagValue("toon_avgpower", {type: "number", title: "Zonnepanelen Gemiddeld Gemiddeld van Toon®"}, avgpower);

Als je deze regels toevoegt dan zouden ook de metingen van je zonnepanelen erbij moeten komen.

voor de boilerstatus gebruik ik dit…

//Get Toon info
var url = "http://192.168.1.11/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*1000;
    var boilerInlet = content.boilerInTemp;
    var boilerOutTemp = content.boilerOutTemp;
    await setTagValue("boiler_druk", {type: "number", title: "Cv Druk"}, boilerPressure);
    await setTagValue("boiler_inlet", {type: "number", title: "Cv Inlaat Temperatuur"}, boilerInlet);
    await setTagValue("boiler_outlet", {type: "number", title: "Cv Uitlaat Temperatuur"}, boilerOutTemp);
  }
})();
return true;

En het aansturen kan door de volgende linkjes te versturen met HTTP request flow cards
Toon temperatuur setpoint

http://192.168.1.228/happ_thermstat?action=setSetpoint&Setpoint=2000
Hier heb ik achter de = een tag gemaakt voor het ingestelde setpoint * 100 dus als ik dan ik homekit de temperatuur verander dan stelt hij hem goed in op je Toon.

Programma aan(1)/uit(0)
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=0

Met Programa
Comfort
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=2&temperatureState=0
Thuis
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=2&temperatureState=1
Slapen
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=2&temperatureState=2
Weg
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=2&temperatureState=3

Continue
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=0&temperatureState=0
Thuis
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=0&temperatureState=1
Slapen
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=0&temperatureState=2
Weg
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=0&temperatureState=3

Hervat Programa
http://192.168.1.228/happ_thermstat?action=changeSchemeState&state=1&temperatureState=

Stroom en Gas Verbruik
http://192.168.1.228/happ_pwrusage?action=GetCurrentUsage

Toon Status
http://192.168.1.228/happ_thermstat?action=getThermostatInfo

Boiler status
http://192.168.1.11/boilerstatus/boilervalues.txt

Op github heeft Vinceste IT hier een Honey app voor. Moet je wel sideloaden en een flow toevoegen die de waarden bv per 5 min ververst.