Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


Question

This QuickApp calculates the cheapest prices for using appliances based on the hourly Tibber energy prices. 
This QuickApp is especially useful for appliances (like charging your car and washing the dishes) that need to run once a day, within a timeframe and during some hours. 
You can use more than one instance of this QuickApp if you need more than one appliance to start in the cheapest hour but not within the same timeslot. 

 

Tibber today and tomorrow prices
The tomorrow prices are available from 13:00 hour. 
If the tomorrow prices aren't available yet and the timeslot is (partially) tomorrow, a temporary calculation and start-stop plan is made with the today prices, until the tomorrow prices are available. 
If the start time plus duration is (partially) tomorrow, for example start time 18:00 and duration 7 hours, the calculation can be made from 13:00 hour when the tomorrow prices are available. 

 

 

Please login or register to see this image.

/monthly_2024_06/image.png.8cca725a501aef5f243d1b478fc25b81.png" />

 

At 04:00 the binary switch will turn ON and at 07:00 the binary switch will turn OFF. 

You would still have to create a script, triggers by this binary switch, to actually turn on the charging of your car, or turn on the dishwasher. 

 

 

IMPORTANT
This QuickApp needs the Tibber Monitor QuickApp to run on your HC3. 
It is important to synchonise this QuickApp with the timing of your Tibber Monitor QuickApp. 
This QuickApp works at its best, if you setup the interval with the intervalOffset just after the Tibber Monitor runs. 
If you Tibber Monitor runs at 5 minutes (300 seconds) after the whole hour, run this QuickApp 5 minutes and 10 seconds (310 seconds) after the whole hour to be sure to get the prices from Tibber Monitor. 
This QuickApp runs every whole hour to turn the switch on and off. If it is time to get the prices from the Tibber Monitor QuickApp, this QuickApp runs every whole hour plus the seconds set in the intervalOffset. 

 

QuickApp logics

  • onInit()
  • getQuickAppVariables() --> Get all Quickapp Variables or create them
  • createVariables() --> Create all Variables 
  • checkPrice() --> Determine the cheapest cycle of hours
  • missionControl() --> The central loop
    • If tibberChild0000 (Tibber Monitor Child devicenumber for "Today 00:00") doesn't exists --> disable QuickApp
    • If current hour is hour to start --> turn the switch ON 
    • If current hour is hour to stop --> turn the switch OFF
    • If current hour is 13:00 (tomorrowPrices) --> checkPrice() to check the prices again to calculate with the tomorrow prices and to plan a new start and stop hour
    • If current hour is the end of the timeslot --> checkPrice() to check the prices again to plan a new start and stop hour
    • If current hour is 00 and the timeslot doesn't goes through midnight (timeSlotStart < timeSlotEnd) --> checkPrice() to transfer the tomorrow prices to todays prices
    • updateLabels() every whole hour
  • missionControl() (see above)
  • etc

 

DISCLAIMERS
Use this QuickApp at your own risk. You are responsible for ensuring that the information provided via this QuickApp do not contain errors. 

Tibber is a registered trademark being the property of TIBBER. TIBBER reserves all rights to the registered trademarks.
Information which is published on TIBBER’s websites belongs to TIBBER or is used with the permission of the rights holder. 
Making of copies, presentations, distribution, display or any other transfer of the information on the website to the public is, except for strictly private use, prohibited unless done with the consent of TIBBER. 
Published material on dedicated TIBBER press websites, intended for public use, is exempt from the consent requirement.
Also see:

Please login or register to see this link.

 

Tibber API documentation:

Please login or register to see this link.


Tibber API explorer:

Please login or register to see this link.


Tibber status:

Please login or register to see this link.

 

Variables (mandatory and created automatically)

  • tibberChild0000 = The Tibber Monitor Child devicenumber for "Today 00:00"
  • durationHours = How many hours should the switch be ON (not more than 23 hours)
  • timeSlotStart = At which hour should the timeslot start
  • timeSlotEnd = At what hour should the timeslot end
  • tomorrowPrices = At what hour are the Tibber tomorrow prices available (default = 13)
  • setGlobalVar = true or false, whether you want tu use the Global Variables (default = false)
  • intervalOffset = The offset time in seconds to the interval of every whole hour (default 310 seconds) 
  • debugLevel = Number (1=some, 2=few, 3=all (default = 1)
  • language = Preferred language (default = English (en)) (supported languages are English (en), Dutch (nl), German (de), Swedish (se) and Norwegian (no))

 

Changes version 1.0 (20th June 2024)

  • Added two global variables for the time ON and time OFF. To use them, set the QuickApp variable setGlobalVar to true. 
  • Added an extra check at midnight if the timeslot doesn't goes through midnight (timeSlotStart < timeSlotEnd) to transfer the tomorrow prices to todays prices (after midnight) 
  • Solved a bug with a timeslot starting at the next day 23:00. 
  • Changed the label layout in case the prices aren't available yet. 
  • Changed the time tomorrow prices calculations will take place to hh:mm:ss in stead of "13:00 (+310 seconds)"

 

Changes version 0.3 (19th March 2024)

  • Solved a small bug when timeslot end was greater than 23 hours


Changes version 0.2 (15th February 2024)

  • Optimized calculations and turnOn/TurnOff
  • Added translations for Dutch (nl), German (de), Swedish (se) and Norwegian (no)

 

Initial (beta) version 0.1 (11th February 2024)

  • Initial beta version

 

How to install

  1. Open the Configuration Interface
  2. Go to Settings > Devices
  3. Click  +
  4. Choose Other Device
  5. Choose Upload File
  6. Choose file from your computer with .fqax

 

 

Please login or register to see this attachment.

 

Edited by SmartHomeEddy
  • Like 3
Link to comment
Share on other sites

Recommended Posts

  • 0
  • Inquirer
  • Posted (edited)

    Trying to figure out the extra timing. 
     

    You can have these kind of timeslots

     

    14:00 to 23:00 (it runs today, then a new calculation at midnight will be ok)

    18:00 to 6:00 (it runs maybe today, maybe tomorrow, then we don’t want a new calculation at midnight, we already planned the run) 

    2:00 to 9:00 (then a new calculation at midnight will be ok)

     

    so I think we need a check for: 

    currentHour == 00 and timeslotStart < 24 and timeslotEnd > 0

     

    Am I right, or do I still miss something? 
     

     

    Edited by SmartHomeEddy
    Link to comment
    Share on other sites

    • 0

    Why is there a price check every hour?

    What does it do? The prices only change once every day. 

     

    Thought I had solved the issue for the night hours, from 00.00-07.00 by using “Tomorrow 00.00” variable when the new prices is released at 13.00, but noticed last night that all prices was set to 0 all night for some reason. Thought it kept the prices it got at 13.00 and did not look again before the interval was finished.

    But it must have looked for new prices and found nothing… correctly as there was none.


    But I agree, the price check and update price table should probably happen at midnight for the next 24 hours. Then we should be golden… or? 😄

     

    Really like this QA, and really is helpful.


    Wondering if I also could send a command to my HC2 at my cabin, to trigger a status change there when low prices or I need a versjon for HC2 as well 😄

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • 8 minutes ago, dorten75 said:

    Why is there a price check every hour?


    Tibber Trigger doesn’t do a price check every hour. Only when needed, for example at startup, at 13:00 when the tomorrow prices are available. 
     

    13 minutes ago, dorten75 said:

    Wondering if I also could send a command to my HC2 at my cabin, to trigger a status change there when low prices or I need a versjon for HC2 as well 😄


    Long time ago I have seen communication between HC3 and HC2, but the big question is, where on the forum. And that probably was in the same LAN. 
     

     

    19 minutes ago, SmartHomeEddy said:

    18:00 to 6:00 (it runs maybe today, maybe tomorrow, then we don’t want a new calculation at midnight, we already planned the run) 


    And still thinking with this timeslot, if the trigger isn’t ON (for example it will run between 2:00 and 5:00) if a new calculation at midnight would destroy something?  

    Link to comment
    Share on other sites

    • 0
    14 hours ago, SmartHomeEddy said:
    14 hours ago, dorten75 said:

    Why is there a price check every hour?


    Tibber Trigger doesn’t do a price check every hour.

    Should have said label update - see now thats what it is...

    [09.06.2024] [08:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: missionControl() - Mission Control Center
    [09.06.2024] [08:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: updateLabels() - Update the labels
    [09.06.2024] [08:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: Label: Tibber Trigger - Versjon 0.3 Skru på: 03:00 Slå av: 07:00 Totalpris: 0.4073 NOK Tidsrom: 0:00-7:00 Varighet: 4 timer Priser i morgen: 13:00 (+350 sekunder) 🔴 Today 00:00: 0.5016 NOK 🔴 Today 01:00: 0.4270 NOK 🔴 Today 02:00: 0.2757 NOK 🟢 Today 03:00: 0.1613 NOK 🟢 Today 04:00: 0.0887 NOK 🟢 Today 05:00: 0.0574 NOK 🟢 Today 06:00: 0.0999 NOK Siste oppdatering: 09-06 08:00
    [09.06.2024] [08:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: setTimeout: 3600 seconds
    [09.06.2024] [09:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: missionControl() - Mission Control Center
    [09.06.2024] [09:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: updateLabels() - Update the labels
    [09.06.2024] [09:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: Label: Tibber Trigger - Versjon 0.3 Skru på: 03:00 Slå av: 07:00 Totalpris: 0.4073 NOK Tidsrom: 0:00-7:00 Varighet: 4 timer Priser i morgen: 13:00 (+350 sekunder) 🔴 Today 00:00: 0.5016 NOK 🔴 Today 01:00: 0.4270 NOK 🔴 Today 02:00: 0.2757 NOK 🟢 Today 03:00: 0.1613 NOK 🟢 Today 04:00: 0.0887 NOK 🟢 Today 05:00: 0.0574 NOK 🟢 Today 06:00: 0.0999 NOK Siste oppdatering: 09-06 09:00
    [09.06.2024] [09:00:00] [DEBUG] [TIB TRIG VVB NATT ID:1387]: setTimeout: 3600 seconds

     

    14 hours ago, SmartHomeEddy said:
    14 hours ago, SmartHomeEddy said:

    18:00 to 6:00 (it runs maybe today, maybe tomorrow, then we don’t want a new calculation at midnight, we already planned the run) 


    And still thinking with this timeslot, if the trigger isn’t ON (for example it will run between 2:00 and 5:00) if a new calculation at midnight would destroy something?  

    Yes, with a new calculation at midnight with that timeslot, it will become wrong.

    I have set up a test with timeslot 22.00-06.00, and get "today00.00" prices. 
    If that works without a hitch, I`m good at least :) Don`t know if it will struggle with the hour setup.
     

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • (Send you a quickapp with the solution, hope you can do some testing)

    Link to comment
    Share on other sites

    • 0
  • Inquirer
  • An update of the Tibber Trigger QuickApp is available (in the first post). 

     

    Thanks to @dorten75 for the testing and think along 👍

     

    Changes version 1.0 (20th June 2024)

    • Added two global variables for the time ON and time OFF. To use them, set the QuickApp variable setGlobalVar to true. 
    • Added an extra check at midnight if the timeslot doesn't goes through midnight (timeSlotStart < timeSlotEnd) to transfer the tomorrow prices to todays prices (after midnight) 
    • Solved a bug with a timeslot starting at the next day 23:00. 
    • Changed the label layout in case the prices aren't available yet. 
    • Changed the time tomorrow prices calculations will take place to hh:mm:ss in stead of "13:00 (+310 seconds)"
    • Like 1
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...