App ideas / feature requests

Forum about forum-provided applications on Toon

Moderators: marcelr, TerrorSource, Toonz, TheHogNL

Re: App ideas / feature requests

Postby EchoNL » Fri Jan 15, 2021 2:21 pm

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.
EchoNL
Starting Member
Starting Member
 
Posts: 6
Joined: January 2021

Re: App ideas / feature requests

Postby oepi-loepi » Sun Jan 17, 2021 11:35 am

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
Member
Member
 
Posts: 198
Joined: February 2019

Re: App ideas / feature requests

Postby TerrorSource » Sun Jan 17, 2021 12:12 pm

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.
TerrorSource
Administrator
Administrator
 
Posts: 494
Joined: May 2017

Re: App ideas / feature requests

Postby aabre » Mon Jan 18, 2021 3:21 pm

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
   }

}
User avatar
aabre
Starting Member
Starting Member
 
Posts: 38
Joined: November 2017
Location: Schiedam

Re: App ideas / feature requests

Postby Tebogo » Wed Jan 20, 2021 9:30 am

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!
Tebogo
Starting Member
Starting Member
 
Posts: 25
Joined: January 2021

Re: App ideas / feature requests

Postby TerrorSource » Wed Jan 20, 2021 9:33 am

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.
TerrorSource
Administrator
Administrator
 
Posts: 494
Joined: May 2017

Re: App ideas / feature requests

Postby oepi-loepi » Wed Jan 20, 2021 9:46 am

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.
oepi-loepi
Member
Member
 
Posts: 198
Joined: February 2019

Re: App ideas / feature requests

Postby Tebogo » Wed Jan 20, 2021 10:15 am

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.
Tebogo
Starting Member
Starting Member
 
Posts: 25
Joined: January 2021

Re: App ideas / feature requests

Postby MICHELVW » Wed Jan 20, 2021 11:26 am

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
MICHELVW
Starting Member
Starting Member
 
Posts: 2
Joined: January 2021

Re: App ideas / feature requests

Postby TheHogNL » Wed Jan 20, 2021 12:00 pm

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.
Member of the Toon Software Collective
User avatar
TheHogNL
Forum Moderator
Forum Moderator
 
Posts: 1810
Joined: August 2017

Re: App ideas / feature requests

Postby oepi-loepi » Wed Jan 20, 2021 3:32 pm

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.
oepi-loepi
Member
Member
 
Posts: 198
Joined: February 2019

Re: App ideas / feature requests

Postby MICHELVW » Thu Jan 21, 2021 11:08 am

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.
MICHELVW
Starting Member
Starting Member
 
Posts: 2
Joined: January 2021

Re: App ideas / feature requests

Postby TheHogNL » Thu Jan 21, 2021 2:52 pm

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.
Member of the Toon Software Collective
User avatar
TheHogNL
Forum Moderator
Forum Moderator
 
Posts: 1810
Joined: August 2017

Re: App ideas / feature requests

Postby bsnel » Fri Jan 22, 2021 12:47 pm

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)
bsnel
Starting Member
Starting Member
 
Posts: 1
Joined: January 2021

Re: App ideas / feature requests

Postby EchoNL » Fri Jan 22, 2021 12:47 pm

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.
EchoNL
Starting Member
Starting Member
 
Posts: 6
Joined: January 2021

PreviousNext

Return to Toon Apps

Who is online

Users browsing this forum: No registered users and 1 guest