App ideas / feature requests
Moderators: marcelr, TheHogNL, Toonz
Re: App ideas / feature requests
Maybe a idea to make a app to see the bitcoin price and other cryptocurrency prices? No need to login only a app to see the prices refreshed at certain time.
-
- Advanced Member
- Posts: 681
- Joined: Sat Feb 09, 2019 7:18 pm
Re: App ideas / feature requests
Dat is goed te doen. Kun jij een url geven met waar die dat kan worden opgehaald een beschrijvinkje met wat jij denkt zichtbaar te willen hebben op de tegel?EchoNL wrote:Maybe a idea to make a app to see the bitcoin price and other cryptocurrency prices? No need to login only a app to see the prices refreshed at certain time.
-
- Administrator
- Posts: 494
- Joined: Thu May 04, 2017 9:28 pm
Re: App ideas / feature requests
oepi-loepi wrote:Dat is goed te doen. Kun jij een url geven met waar die dat kan worden opgehaald een beschrijvinkje met wat jij denkt zichtbaar te willen hebben op de tegel?EchoNL wrote:Maybe a idea to make a app to see the bitcoin price and other cryptocurrency prices? No need to login only a app to see the prices refreshed at certain time.
https://coinmarketcap.com/oepi-loepi wrote:Dat is goed te doen. Kun jij een url geven met waar die dat kan worden opgehaald een beschrijvinkje met wat jij denkt zichtbaar te willen hebben op de tegel?EchoNL wrote:Maybe a idea to make a app to see the bitcoin price and other cryptocurrency prices? No need to login only a app to see the prices refreshed at certain time.
is volgens mij 1 van de bekendste.
Re: App ideas / feature requests
Hoi ik heb hier een voorzetje voor een crypto clock (app op de plaats van de clock)
Code: Select all
import QtQuick 2.1
import qb.components 1.0
import qb.base 1.0;
import FileIO 1.0
App {
id: cryptoApp
property url tileUrl : "CryptoTile.qml"
//property url screenUrl : "CryptoScreen.qml"
property variant cryptoJSON : {}
property bool cryptoDataRead: false
//property CryptoScreen cryptoScreen
property string tileKop : "0000.00 $"
property string tileKop2 : "Bitcoin (BTC)"
property string tileKop3 : ""
property string tileKop4 : ""
property string tileKop5 : ""
property real lowValue : 0.00
property real highValue : 0.00
property real volumeValue : 0.00
property string colourBTC : "yellow"
property real lastPrice : 0
property real newPrice : 0
property var locale: Qt.locale()
property date currentTime: new Date()
property date currentDate: new Date()
property string timeString
property int cryptoSwitch : 1
property string dateString
FileIO {
id: cryptoSettingsFile
source: "file:///mnt/data/tsc/crypto.userSettings.json"
}
function init() {
const args = {
thumbCategory: "general",
thumbLabel: "Crypto",
thumbIcon: "qrc:/apps/clock/drawables/clock.svg",
thumbIconVAlignment: "center",
thumbWeight: 30
}
registry.registerWidget("tile", tileUrl, this, null, args);
//registry.registerWidget("screen", screenUrl, this, "cryptoScreen");
}
function parseCryptoinfo(cryptoTxt) {
cryptoJSON = JSON.parse(cryptoTxt);
cryptoDataRead = true;
newPrice = cryptoJSON["last"]
tileKop =newPrice + " $"
lowValue = cryptoJSON["low"]
highValue = cryptoJSON["high"]
volumeValue =cryptoJSON["high"]
tileKop3 = "Low: "+Math.round(lowValue)+ " $"
tileKop4 = "High: "+Math.round(highValue)+ " $"
tileKop5 = "Volume 24h: "+volumeValue
}
// {"high": "8286.00000000", "last": "8126.76", "timestamp": "1578836370", "bid": "8131.69", "vwap": "8110.84", "volume": "2901.76940281", "low": "7960.00000000", "ask": "8137.11", "open": 8008.10}
function getcryptokoers() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
parseCryptoinfo(xmlhttp.responseText);
}
}
}
switch (cryptoSwitch) {
case 1: {
xmlhttp.open("GET", "https://www.bitstamp.net/api/ticker", true);
break;
}
case 2: {
xmlhttp.open("GET", "https://www.bitstamp.net/api/v2/ticker/xrpusd/", true);
break;
}
case 3: {
xmlhttp.open("GET", "https://www.bitstamp.net/api/v2/ticker/ethusd/", true);
break;
}
case 4: {
xmlhttp.open("GET", "https://www.bitstamp.net/api/v2/ticker/ltcusd/", true);
break;
}
case 5: {
xmlhttp.open("GET", "https://www.bitstamp.net/api/v2/ticker/bchusd/", true);
break;
}
default: {
break;
}
}
//Supported values : btcusd, btceur, eurusd, xrpusd, xrpeur, xrpbtc, ltcusd, ltceur, ltcbtc, ethusd, etheur, ethbtc, bchusd, bcheur, bchbtc
xmlhttp.send();
colourBTC = "yellow"
if (newPrice > lastPrice){
colourBTC = "green"
lastPrice = newPrice
}
if (newPrice < lastPrice){
colourBTC = "red"
lastPrice = newPrice
}
currentTime = new Date();
currentDate = new Date();
timeString = currentTime.toLocaleTimeString(locale, "hh:mm");
dateString = currentDate.toLocaleDateString(locale, "d MMMM yyyy");
}
Component.onCompleted: {
datetimeTimerFiles.running = true;
}
Timer {
id: datetimeTimerFiles
interval: 15000 //update every 15 sec
triggeredOnStart: true
running: false
repeat: true
onTriggered: getcryptokoers();
}
}
Code: Select all
import QtQuick 2.1
import qb.components 1.0
Tile {
onClicked: {
app.cryptoSwitch = app.cryptoSwitch +1;
if (app.cryptoSwitch > 5){ app.cryptoSwitch = 1};
switch (app.cryptoSwitch) {
case 1: {
app.tileKop2 = "Bitcoin (BTC)"
break;
}
case 2: {
app.tileKop2 = "Ripple (XRP)"
break;
}
case 3: {
app.tileKop2 = "Ethereum (ETH)"
break;
}
case 4: {
app.tileKop2 = "Litecoin (LTC)"
break;
}
case 5: {
app.tileKop2 = "Bitcoin Cash (BCH)"
break;
}
default: {
break;
}
}
app.tileKop = "";
app.tileKop3 = "Please";
app.tileKop4 = "wait one";
app.tileKop5 = "moment";
app.lastPrice = "";
app.newPrice = "";
}
Text {
id: regelTile
text: app.tileKop
font {
family: qfont.bold.name
pointSize: isNxt ? 17 : 20
}
anchors {
top: parent.top
topMargin: isNxt ? 33 : 25
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.clockTileColor : colors.clockTileColor
visible: !dimState
}
Text {
id: regelTile2
text: app.tileKop2
font {
family: qfont.bold.name
pointSize: isNxt ? 13 : 16
}
anchors {
top: parent.top
topMargin: 1
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.clockTileColor : colors.clockTileColor
visible: !dimState
}
Text {
id: regelTile3
text: app.tileKop3
font {
family: qfont.regular.name
pointSize: isNxt ? 13 : 16
}
anchors {
top: parent.top
topMargin: isNxt ? 87 : 70
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.clockTileColor : colors.clockTileColor
visible: !dimState
}
Text {
id: regelTile4
text: app.tileKop4
font {
family: qfont.regular.name
pointSize: isNxt ? 13 : 16
}
anchors {
top: parent.top
topMargin: isNxt ? 125 : 100
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.clockTileColor : colors.clockTileColor
visible: !dimState
}
Text {
id: regelTile5
text: app.tileKop5
font {
family: qfont.regular.name
pointSize: isNxt ? 12 : 14
}
anchors {
top: parent.top
topMargin: isNxt ? 160 : 130
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.clockTileColor : colors.clockTileColor
visible: !dimState
}
// ********************* text in dimstate *******************
Text {
text: app.tileKop2 //crypto naam
font {
family: qfont.bold.name
pointSize: isNxt ? 10 : 16
}
anchors {
top: parent.top
topMargin: 2
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.waTileTextColor : colors.waTileTextColor
visible: dimState
}
Text {
text: app.tileKop //Koers groot
font {
family: qfont.bold.name
pointSize: isNxt ? 18 : 22
}
anchors {
top: parent.top
topMargin: isNxt ? 30 : 26
horizontalCenter: parent.horizontalCenter
}
color: app.colourBTC
visible: dimState
}
Text {
text: app.timeString
font {
family: qfont.regular.name
pointSize: isNxt ? 40 : 50
}
anchors {
top: parent.top
topMargin: isNxt ? 60 : 60
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.waTileTextColor : colors.waTileTextColor
visible: dimState
}
Text {
text: app.dateString
font {
family: qfont.regular.name
pixelSize: isNxt ? 20 : 16
}
anchors {
baseline: parent.bottom
baselineOffset: 0
horizontalCenter: parent.horizontalCenter
}
color: (typeof dimmableColors !== 'undefined') ? dimmableColors.waTileTextColor : colors.waTileTextColor
visible: dimState
}
}
Re: App ideas / feature requests
Hello,
Yesterday managed to root my Toon (without P1 sensors) bought on MP.
I already have Domoticz running, solar panels, Opentherm gateway, MQTT etc.
My Domoticz reads the P1 electra and gas meters, and via MQTT my watermeter
Now I hoped that it would be possible to display the sensors/meters on Toon, but I only could find the
Domoticz app in the Toon store, which provides switches.
Is there another way to get the Domoticz Sensors send the readings to the Toon, so that the Toon thinks it
is reading the Toon sensors?
Thank you!
Yesterday managed to root my Toon (without P1 sensors) bought on MP.
I already have Domoticz running, solar panels, Opentherm gateway, MQTT etc.
My Domoticz reads the P1 electra and gas meters, and via MQTT my watermeter
Now I hoped that it would be possible to display the sensors/meters on Toon, but I only could find the
Domoticz app in the Toon store, which provides switches.
Is there another way to get the Domoticz Sensors send the readings to the Toon, so that the Toon thinks it
is reading the Toon sensors?
Thank you!
-
- Administrator
- Posts: 494
- Joined: Thu May 04, 2017 9:28 pm
Re: App ideas / feature requests
Easiest solution is to split the P1-port into 2, 1 for Domoticz, 1 for Toon.Tebogo wrote:Hello,
Yesterday managed to root my Toon (without P1 sensors) bought on MP.
I already have Domoticz running, solar panels, Opentherm gateway, MQTT etc.
My Domoticz reads the P1 electra and gas meters, and via MQTT my watermeter
Now I hoped that it would be possible to display the sensors/meters on Toon, but I only could find the
Domoticz app in the Toon store, which provides switches.
Is there another way to get the Domoticz Sensors send the readings to the Toon, so that the Toon thinks it
is reading the Toon sensors?
Thank you!
-
- Advanced Member
- Posts: 681
- Joined: Sat Feb 09, 2019 7:18 pm
Re: App ideas / feature requests
Agree. Buy a "meteradapter" at marktplaats (or TerrorSource could maybe sell one) and split your P1 meter signal. For the solarPanel you can use the new app SolarPanel with the Domoticz pluging.TerrorSource wrote:
Easiest solution is to split the P1-port into 2, 1 for Domoticz, 1 for Toon.
The app will read your solarpanels from Domoticz.
Re: App ideas / feature requests
I was hoping/looking for a solution like the app for the solarpanels. It works great.For the solarPanel you can use the new app SolarPanel with the Domoticz pluging.
The app will read your solarpanels from Domoticz.

So no go?

Thanks for the quick response.
Re: App ideas / feature requests
Hi everyone,
I was looking if an app existed (which it doesn't seem to) for an "openhaard stand, or fireplace mode".
Other thermostats (like the remeha one that came with my central heating boiler, have such a mode); The idea is that the toon keeps running moderate (maybe configurable) temperature water through the radiators whilst the actual set temperature is already reached. In this way all rooms in the house can be kept at some level of comfort, instead of becoming freezing cold when the fireplace is heating the living room where the toon is also installed.
Would this be possible? I do have some experience in programming but none with toon apps (yet). Maybe we can co-create something?!?
BR,
Michel
I was looking if an app existed (which it doesn't seem to) for an "openhaard stand, or fireplace mode".
Other thermostats (like the remeha one that came with my central heating boiler, have such a mode); The idea is that the toon keeps running moderate (maybe configurable) temperature water through the radiators whilst the actual set temperature is already reached. In this way all rooms in the house can be kept at some level of comfort, instead of becoming freezing cold when the fireplace is heating the living room where the toon is also installed.
Would this be possible? I do have some experience in programming but none with toon apps (yet). Maybe we can co-create something?!?
BR,
Michel
Re: App ideas / feature requests
Fireplaces should be banned... don't understand why people use them in urban areas. But that is another topic.MICHELVW wrote:Hi everyone,
I was looking if an app existed (which it doesn't seem to) for an "openhaard stand, or fireplace mode".
Other thermostats (like the remeha one that came with my central heating boiler, have such a mode); The idea is that the toon keeps running moderate (maybe configurable) temperature water through the radiators whilst the actual set temperature is already reached. In this way all rooms in the house can be kept at some level of comfort, instead of becoming freezing cold when the fireplace is heating the living room where the toon is also installed.
Would this be possible? I do have some experience in programming but none with toon apps (yet). Maybe we can co-create something?!?
BR,
Michel
This would require to increase the setpoint 0.5c above the current temperature. You can do it with these options:
- external domotica system which updates the setpoint using the well known toon API url interfaces (for example, just use node red for it) For insparation look into the domoticz scripts to control the toon.
- bash script on the Toon doing the same but then using localhost so it always works even when wifi is down
- Toon App in QML language using BXT commands (just like when you hit the GUI button yourself). This requires you to create a QML app and research into how these apps talk to the internal thermostat using the BXT commands
To lower the water temperature (temporary) you must have Opentherm and use BXT commands for it. This is not possible from external point of view so only on toon itself.
Member of the Toon Software Collective
-
- Advanced Member
- Posts: 681
- Joined: Sat Feb 09, 2019 7:18 pm
Re: App ideas / feature requests
The Domoticz Plugin will be available in the next update. To test the plugin, please send me a PM.Tebogo wrote:I was hoping/looking for a solution like the app for the solarpanels. It works great.For the solarPanel you can use the new app SolarPanel with the Domoticz pluging.
The app will read your solarpanels from Domoticz.![]()
So no go?![]()
Thanks for the quick response.
Re: App ideas / feature requests
Who says im in an urban area.TheHogNL wrote:Fireplaces should be banned... don't understand why people use them in urban areas. But that is another topic.MICHELVW wrote:Hi everyone,
I was looking if an app existed (which it doesn't seem to) for an "openhaard stand, or fireplace mode".
Other thermostats (like the remeha one that came with my central heating boiler, have such a mode); The idea is that the toon keeps running moderate (maybe configurable) temperature water through the radiators whilst the actual set temperature is already reached. In this way all rooms in the house can be kept at some level of comfort, instead of becoming freezing cold when the fireplace is heating the living room where the toon is also installed.
Would this be possible? I do have some experience in programming but none with toon apps (yet). Maybe we can co-create something?!?
BR,
Michel
This would require to increase the setpoint 0.5c above the current temperature. You can do it with these options:
- external domotica system which updates the setpoint using the well known toon API url interfaces (for example, just use node red for it) For insparation look into the domoticz scripts to control the toon.
- bash script on the Toon doing the same but then using localhost so it always works even when wifi is down
- Toon App in QML language using BXT commands (just like when you hit the GUI button yourself). This requires you to create a QML app and research into how these apps talk to the internal thermostat using the BXT commands
To lower the water temperature (temporary) you must have Opentherm and use BXT commands for it. This is not possible from external point of view so only on toon itself.

I want to go the "toon itself" route. Can somebody point me into the right direction or to documentation on available BXT commands? I've been scanning the repo's on the TSC, but can't seem to find any examples where opentherm is controlled. Boilerstatus gives some insight how to get data from opentherm, but not how to control it. Thanks in advance.
Re: App ideas / feature requests
If you take the resource rcc (in /qmf/qml) file from your toon and upload it here http://qutility.nl/upload.html you will get a zip file containing the unpacked qml code from the official toon software. From there you probably can find your way to the thermostat app of the toon and find it there. If you need more guidance let me know.MICHELVW wrote:Who says im in an urban area.TheHogNL wrote:Fireplaces should be banned... don't understand why people use them in urban areas. But that is another topic.MICHELVW wrote:Hi everyone,
I was looking if an app existed (which it doesn't seem to) for an "openhaard stand, or fireplace mode".
Other thermostats (like the remeha one that came with my central heating boiler, have such a mode); The idea is that the toon keeps running moderate (maybe configurable) temperature water through the radiators whilst the actual set temperature is already reached. In this way all rooms in the house can be kept at some level of comfort, instead of becoming freezing cold when the fireplace is heating the living room where the toon is also installed.
Would this be possible? I do have some experience in programming but none with toon apps (yet). Maybe we can co-create something?!?
BR,
Michel
This would require to increase the setpoint 0.5c above the current temperature. You can do it with these options:
- external domotica system which updates the setpoint using the well known toon API url interfaces (for example, just use node red for it) For insparation look into the domoticz scripts to control the toon.
- bash script on the Toon doing the same but then using localhost so it always works even when wifi is down
- Toon App in QML language using BXT commands (just like when you hit the GUI button yourself). This requires you to create a QML app and research into how these apps talk to the internal thermostat using the BXT commands
To lower the water temperature (temporary) you must have Opentherm and use BXT commands for it. This is not possible from external point of view so only on toon itself.But point taken.
I want to go the "toon itself" route. Can somebody point me into the right direction or to documentation on available BXT commands? I've been scanning the repo's on the TSC, but can't seem to find any examples where opentherm is controlled. Boilerstatus gives some insight how to get data from opentherm, but not how to control it. Thanks in advance.
Member of the Toon Software Collective
Re: App ideas / feature requests
I have some ideas that I would love to see on my Toon 2 rooted:
- MyNetatmo Weather. Would love a temperature, rain, wind etc logger for my weather stations. They have an API https://my.netatmo.com/app/weather
- Tesla car battery status. Simple readout of % battery of Tesla car.
- Stocks - Just like the new Bitcoin / Crypto app - a stock app. Pull data from Google Finance.
- Smart Plug energy consumption. I thought this was working but it is not - want to log consumption of Fibaro smart plugs. Ideally in the default energy graph
- Moon phases - https://www.timeanddate.com/moon/phases/
- Sunrise / Sunset
- Can I wear shorts today - https://www.isitshortsweathertoday.com/
- Biggest - Homey Plugin - with a connection to Homey we can set standard on/off toggle for devices and scenes (like lights, curtains, etc)
- MyNetatmo Weather. Would love a temperature, rain, wind etc logger for my weather stations. They have an API https://my.netatmo.com/app/weather
- Tesla car battery status. Simple readout of % battery of Tesla car.
- Stocks - Just like the new Bitcoin / Crypto app - a stock app. Pull data from Google Finance.
- Smart Plug energy consumption. I thought this was working but it is not - want to log consumption of Fibaro smart plugs. Ideally in the default energy graph
- Moon phases - https://www.timeanddate.com/moon/phases/
- Sunrise / Sunset
- Can I wear shorts today - https://www.isitshortsweathertoday.com/
- Biggest - Homey Plugin - with a connection to Homey we can set standard on/off toggle for devices and scenes (like lights, curtains, etc)
Re: App ideas / feature requests
Sorry for my late reaction. Coinmarketcap.com is a good one. I see the app already in the Toonstore, many thanks for that! Is it possible to see the prices in Euro? The text in dim mode is not visible due to the black font.oepi-loepi wrote:Dat is goed te doen. Kun jij een url geven met waar die dat kan worden opgehaald een beschrijvinkje met wat jij denkt zichtbaar te willen hebben op de tegel?EchoNL wrote:Maybe a idea to make a app to see the bitcoin price and other cryptocurrency prices? No need to login only a app to see the prices refreshed at certain time.