• 2 Posts
  • 98 Comments
Joined 3 years ago
cake
Cake day: July 4th, 2023

help-circle







  • I’ve found apexcharts-card to be fairly configurable and good looking. I’ve put 2 different data types on the one graph and used two axes (price left, % right). Sometimes the values get “stuck”, but a refresh fixes it.

    Example apexcharts-card using Amber energy price forecast and renewable energy %

    YAML code for my chart
    type: custom:apexcharts-card
    apex_config:
      legend:
        show: false
    graph_span: 12h
    span:
      start: minute
    yaxis:
      - id: price
        min: ~-10
        max: ~40
        decimals: 0
      - id: renewables
        opposite: true
        min: 0
        max: ~100
        decimals: 0
    header:
      show: true
      title: Amber Prices
      show_states: true
      colorize_states: true
    series:
      - entity: sensor.amber_general_forecast
        name: General Forecast
        unit: c/kWh
        color: "#3498DB"
        yaxis_id: price
        data_generator: >
          const data = [];
    
          data.push([hass.states['sensor.amber_general_price'].attributes.nem_date.replace(/0{2}$/,
          "30"), hass.states['sensor.amber_general_price'].attributes.per_kwh*100]);
    
          for(let i = 0; i <= 24; i++) {
            data.push([entity.attributes.forecasts[i].nem_date.replace(/0{2}$/, "30"), entity.attributes.forecasts[i].per_kwh*100])
          }
    
          return data.reverse();
      - entity: sensor.amber_feed_in_forecast
        name: Feed In Forecast
        unit: c/kWh
        color: "#ff9800"
        yaxis_id: price
        data_generator: >
          const data = [];
    
          data.push([hass.states['sensor.amber_feed_in_price'].attributes.nem_date.replace(/0{2}$/,
          "30"), hass.states['sensor.amber_feed_in_price'].attributes.per_kwh*100]);
    
          for(let i = 0; i <= 24; i++) {
            data.push([entity.attributes.forecasts[i].nem_date.replace(/0{2}$/, "30"), entity.attributes.forecasts[i].per_kwh*100])
          }
    
          return data.reverse();
      - entity: sensor.amber_feed_in_forecast
        name: Renewables
        yaxis_id: renewables
        unit: "%"
        color: "#2ECC71"
        data_generator: >
          const data = [];
    



  • I personally think there is a (sometimes subtle) difference between paid software and harmful software.

    Meta and X are definitely causing harm, but is something like Synergy? Sure, it costs money, but that money seems to be going to the developers. That would be no worse than paying a street vendor for food.

    Likewise, finding an open-source virus and using it to hack people doesn’t absolve you of guilt.

    While many large corporations tend toward capitalism, corruption and even fascism, I believe there is a lot more nuance than just paid vs free or closed vs open source.



  • I’ve just replaced a 34 year old microwave. I hate all the new models, I just want something simple that will last practically forever.

    It started making an electrical ticking/buzzing noise. I tried contacting 2 microwave repair companies and both said they won’t touch it.

    I’m keeping it in storage just in case it magically fixes itself when the new one fails.