[-] noobnarski@feddit.de 1 points 3 days ago

Every commercial fuel recycling plant in existence releases large amounts of radioactivity into the air and water, so I dont really see them as a good alternative.

Here is a world map of iodine 129 before fukushima, its one of many radioactive isotopes released at nuclear reprocessing plants: https://pubchem.ncbi.nlm.nih.gov/images/iupac/j_pac-2015-0703_fig_076.jpg The website where I got it from: https://pubchem.ncbi.nlm.nih.gov/element/Iodine#section=Isotopes-in-Forensic-Science-and-Anthropology

Considering how long it would take to build safe reactors, how expensive it would be and how much radioactive contamination would be created both at the production of fuel and later when the storage ever goes wrong after thousands of years, I just dont see any reason to ever invest into it nowadays, when renewables and batteries have gotten so good.

[-] noobnarski@feddit.de 22 points 2 weeks ago

It would be a kinda fun league to watch, but I dont want to hear about athletes dying because they took obscene amounts of steroids to be the best.

[-] noobnarski@feddit.de 21 points 3 months ago

I have heard that its not too hard to start your own project when working at valve.

Maybe it will turn into their next game, or a new steam feature or it will get canned.

[-] noobnarski@feddit.de 21 points 4 months ago

The best thing is, if you sort low to high, after the 2nd or 3rd page it just completely breaks and starts showing items randomly.

[-] noobnarski@feddit.de 27 points 4 months ago

I already had adblock before the whole stupid adblock block. I support the creators I watch, can listen to videos with the screen off, and I also use YT Music, so its a good deal for me.

I can however understand anyone who doesnt want to pay for YT Premium and doesnt want to be blasted by scam ads. Ads shouldnt be this annoying.

[-] noobnarski@feddit.de 34 points 4 months ago

I think you forgot the part where capitalism makes peoples life worse and worse, while at the same time conservative media blames the left for it, even if they are the cause.

Because in the End people dont vote for fascists because its funny, but because they believe they can get them out of a shitty situation (Fascism doesnt do that obviously, but people get blinded by propaganda).

We wouldnt have this issue today if politicians werent all neoliberal and actually cared about poor people.

[-] noobnarski@feddit.de 16 points 4 months ago

Ich habe auch das Gefühl dass die Grünen auch versuchen Bürokratie abzubauen, bzw. nicht weiter aufzubauen, ohne die Kraft der Gesetze zu schwächen. Ein Beispiel ist die Förderung von Photovoltaikanlagen mit dem Wegfall der MWSt. oder dass selbstverbrauchter Strom nicht mehr versteuert werden muss.

[-] noobnarski@feddit.de 21 points 5 months ago

Dass Twitch Leute wahllos bannt, wenn Leute mit Kontakten zu Twitch nachfragen, ist leider nichts neues.

[-] noobnarski@feddit.de 15 points 7 months ago

Home assistant and its various alternatives

[-] noobnarski@feddit.de 30 points 7 months ago

Alcohol has never killed anyone, its the products our body creates when breaking it down that hurt us.

[-] noobnarski@feddit.de 84 points 8 months ago

Because everyone knows what KS and MO mean, especially on a european sub.

5

This is the automation that I use to control a Hoymiles HM-600 Solar Microinverter to achieve a zero export on a battery with some other features. I use an ESP32 with OpenDTU for the communication and a shelly 3em to monitor my usage. I found the core template section somewhere else on the internet and changed it a bit, but its definetly not perfect.

alias: zero_energy_export
trigger:
  - platform: time_pattern
    seconds: /30
    enabled: false
  - platform: mqtt
    topic: solar/114190918869/0/power
    enabled: true
condition:
  - condition: state
    entity_id: binary_sensor.hm_600_producing
    state: "on"
  - condition: state
    entity_id: binary_sensor.hm_600_reachable
    state: "on"
action:
  - service: number.set_value
    data_template:
      value: |
        { set newSolarLimit = 250 }    
        {{ newSolarLimit }}
    target:
      entity_id: number.hm_600_limit_nonpersistent_absolute
    enabled: false
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.pack_state_of_charge
            above: 95
          - condition: numeric_state
            entity_id: sensor.battery_voltage_1
            above: 54.5
        enabled: false
      - condition: not
        conditions:
          - condition: state
            entity_id: input_boolean.batterievoll
            for:
              hours: 0
              minutes: 5
              seconds: 0
            state: "off"
    then:
      - service: number.set_value
        data:
          value: "600"
        target:
          entity_id:
            - number.hm_600_limit_persistent_absolute
    else:
      - if:
          - condition: and
            conditions:
              - condition: numeric_state
                entity_id: sensor.gesamtstromverbrauch
                below: 300
              - condition: or
                conditions:
                  - condition: state
                    entity_id: input_boolean.lowpower
                    state: "off"
                    for:
                      hours: 0
                      minutes: 5
                      seconds: 0
                  - condition: state
                    entity_id: input_boolean.lowpower
                    state: "on"
                enabled: true
        then:
          - service: number.set_value
            data_template:
              value: >
                {% set maxSolarPower = 600 | float %}    


                {% set newSolarLimit = 0 | float %}    


                {% set negThreshold = 15 | float %}


                {% set minSolarLimit = 195 | float %}


                {% set curGridUsage = states('sensor.gesamtverbrauch_power') |
                float %}


                {% set curSolarLimit =
                states('number.hm_600_limit_nonpersistent_relative') | float %}



                {% if is_number(curGridUsage) and curGridUsage + ( curSolarLimit
                * maxSolarPower / 100 ) - negThreshold <= minSolarLimit %}
                  {% set newSolarLimit = ( minSolarLimit / maxSolarPower * 100 ) %}
                  {{ newSolarLimit }}      
                {% elif is_number(curGridUsage) and (curGridUsage +
                (curSolarLimit * maxSolarPower / 100)) < maxSolarPower and
                (curGridUsage + (curSolarLimit * maxSolarPower / 100) -
                negThreshold) > minSolarLimit %}
                  {% set newSolarLimit = ((curGridUsage + (curSolarLimit *
                maxSolarPower / 100) - negThreshold) / maxSolarPower * 100 )|
                round(2, 'fold')  %}
                  {{ newSolarLimit }}
                {% elif is_number(curGridUsage) and curGridUsage +
                (curSolarLimit * maxSolarPower / 100) - negThreshold >=
                maxSolarPower %}
                  {% set newSolarLimit = (maxSolarPower / maxSolarPower * 100)  %}
                  {{ newSolarLimit }}
                {% else %}
                  {% set newSolarLimit = curSolarLimit %}
                  {{ newSolarLimit }}
                {% endif %}
            target:
              entity_id: number.hm_600_limit_persistent_relative
          - service: input_boolean.turn_on
            data: {}
            target:
              entity_id: input_boolean.lowpower
        else:
          - service: number.set_value
            data_template:
              value: >
                {% set maxSolarPower = 600 | float %}    


                {% set newSolarLimit = 0 | float %}    


                {% set negThreshold = 30 | float %}


                {% set minSolarLimit = 195 | float %}


                {% set curGridUsage = states('sensor.gesamtverbrauch_power') |
                float %}


                {% set curSolarLimit =
                states('number.hm_600_limit_nonpersistent_relative') | float %}



                {% if is_number(curGridUsage) and curGridUsage + ( curSolarLimit
                * maxSolarPower / 100 ) - negThreshold <= minSolarLimit %}
                  {% set newSolarLimit = ( minSolarLimit / maxSolarPower * 100 ) %}
                  {{ newSolarLimit }}      
                {% elif is_number(curGridUsage) and (curGridUsage +
                (curSolarLimit * maxSolarPower / 100)) < maxSolarPower and
                (curGridUsage + (curSolarLimit * maxSolarPower / 100) -
                negThreshold) > minSolarLimit %}
                  {% set newSolarLimit = ((curGridUsage + (curSolarLimit *
                maxSolarPower / 100) - negThreshold) / maxSolarPower * 100 )|
                round(2, 'fold')  %}
                  {{ newSolarLimit }}
                {% elif is_number(curGridUsage) and curGridUsage +
                (curSolarLimit * maxSolarPower / 100) - negThreshold >=
                maxSolarPower %}
                  {% set newSolarLimit = (maxSolarPower / maxSolarPower * 100)  %}
                  {{ newSolarLimit }}
                {% else %}
                  {% set newSolarLimit = curSolarLimit %}
                  {{ newSolarLimit }}
                {% endif %}
            target:
              entity_id: number.hm_600_limit_persistent_relative
          - service: input_boolean.turn_off
            data: {}
            target:
              entity_id: input_boolean.lowpower
        enabled: true
  - if:
      - condition: and
        conditions:
          - condition: numeric_state
            entity_id: sensor.pack_state_of_charge
            above: 95
          - condition: numeric_state
            entity_id: sensor.battery_voltage_1
            above: 54.5
    then:
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.batterievoll
    else:
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id: input_boolean.batterievoll
mode: single

I also have an automation that pushes the virtual buttons shown by OpenDTU that turns the inverter off when the battery is too low and back on again. Only do this if you have a BMS that can reliably disconnect the battery if the automation doesnt work.

The advantage is that I dont have to build a switch with an inrush current reduction. If you connect a solar microinverter to a battery I would also recommend fusing the cables from the battery to the inverter, because a battery can provide a much higher peak current than a solar panel.

[-] noobnarski@feddit.de 18 points 9 months ago

I guess I am a god then

view more: next ›

noobnarski

joined 1 year ago