Page 2 of 7

Re: App ideas / feature requests

Posted: Fri Jan 15, 2021 3:21 pm
by EchoNL
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.

Re: App ideas / feature requests

Posted: Sun Jan 17, 2021 12:35 pm
by oepi-loepi
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.
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?

Re: App ideas / feature requests

Posted: Sun Jan 17, 2021 1:12 pm
by TerrorSource
oepi-loepi wrote:
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.
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?
oepi-loepi wrote:
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.
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?
https://coinmarketcap.com/
is volgens mij 1 van de bekendste.

Re: App ideas / feature requests

Posted: Mon Jan 18, 2021 4:21 pm
by aabre
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

Posted: Wed Jan 20, 2021 10:30 am
by Tebogo
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!

Re: App ideas / feature requests

Posted: Wed Jan 20, 2021 10:33 am
by TerrorSource
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!
Easiest solution is to split the P1-port into 2, 1 for Domoticz, 1 for Toon.

Re: App ideas / feature requests

Posted: Wed Jan 20, 2021 10:46 am
by oepi-loepi
TerrorSource wrote:
Easiest solution is to split the P1-port into 2, 1 for Domoticz, 1 for Toon.
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.

The app will read your solarpanels from Domoticz.

Re: App ideas / feature requests

Posted: Wed Jan 20, 2021 11:15 am
by Tebogo
For the solarPanel you can use the new app SolarPanel with the Domoticz pluging.

The app will read your solarpanels from Domoticz.
I was hoping/looking for a solution like the app for the solarpanels. It works great. :P
So no go? :|

Thanks for the quick response.

Re: App ideas / feature requests

Posted: Wed Jan 20, 2021 12:26 pm
by MICHELVW
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

Re: App ideas / feature requests

Posted: Wed Jan 20, 2021 1:00 pm
by TheHogNL
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
Fireplaces should be banned... don't understand why people use them in urban areas. But that is another topic.

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.

Re: App ideas / feature requests

Posted: Wed Jan 20, 2021 4:32 pm
by oepi-loepi
Tebogo wrote:
For the solarPanel you can use the new app SolarPanel with the Domoticz pluging.

The app will read your solarpanels from Domoticz.
I was hoping/looking for a solution like the app for the solarpanels. It works great. :P
So no go? :|

Thanks for the quick response.
The Domoticz Plugin will be available in the next update. To test the plugin, please send me a PM.

Re: App ideas / feature requests

Posted: Thu Jan 21, 2021 12:08 pm
by MICHELVW
TheHogNL wrote:
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
Fireplaces should be banned... don't understand why people use them in urban areas. But that is another topic.

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.
Who says im in an urban area. :wink: 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.

Re: App ideas / feature requests

Posted: Thu Jan 21, 2021 3:52 pm
by TheHogNL
MICHELVW wrote:
TheHogNL wrote:
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
Fireplaces should be banned... don't understand why people use them in urban areas. But that is another topic.

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.
Who says im in an urban area. :wink: 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.
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.

Re: App ideas / feature requests

Posted: Fri Jan 22, 2021 1:47 pm
by bsnel
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)

Re: App ideas / feature requests

Posted: Fri Jan 22, 2021 1:47 pm
by EchoNL
oepi-loepi wrote:
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.
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?
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.