DeVerSion Skrevet 16. desember 2021 Skrevet 16. desember 2021 Hei, Har lest litt på forumet her, og tenkte å gå for @stigvi sitt oppsett for "Prediktiv reduksjon av strømbruk". Men sliter med å få simple_pid til å fungere. Får opp denne feilmeldingen her: This error originated from a custom integration. Logger: custom_components.pyscript.file.pidpower Source: custom_components/pyscript/global_ctx.py:337 Integration: Pyscript Python scripting (documentation, issues) First occurred: December 15, 2021, 22:22:38 (1 occurrences) Last logged: December 15, 2021, 22:22:38 Exception in </config/pyscript/pidpower.py> line 1: from simple_pid import PID ^ ModuleNotFoundError: No module named 'simple_pid' Litt om systemet mitt, som kanskje kan gjøre det lettere å hjelpe meg med feilen over. Har installert HA på en iNuc, og kjører core-2021.12.2 og supervisor-2021.12.2. Installert pyscript via HACS og konfigurert den i UI med "allow all imports" og Access hass as a global variable" aktivert. Laget folder "pyscript" og pidpower.py fil som jeg har lagt som jeg har kopiert inn som en start, for å jobbe ut fra den koden. Noen som kan gi meg et vink eller to i riktig retning? from simple_pid import PID pid = PID(40.0, 1.0, 1600.0, setpoint=float(input_number.kwh_max)) pid.sample_time = 1.9 pid.output_limits = (0, 100) pid.proportional_on_measurement = False pid.auto_mode = True last_c = 0 turned_off_all = False turned_off_car = False @state_trigger("sensor.energy") def new_state(): global pid global last_c global turned_off_all global turned_off_car c = pid(float(sensor.estimated_hourly_consumption)) p, i, d = pid.components state.set("sensor.regulator_p", round(p,1)) state.set("sensor.regulator_i", round(i,1)) state.set("sensor.regulator_d", round(d,1)) if last_c != c: sensor.regulator_energy_usage = int(c) #, attributes = {"unit_of_measurement": "%", "friendly_name": "Pådrag varme"}) last_c = c if c < 10 and turned_off_car == False: easee.set_charger_circuit_dynamic_limit(charger_id = "EH430587", currentP1 = "0") turned_off_car = True if c > 12 and turned_off_car == True: easee.set_charger_circuit_dynamic_limit(charger_id = "EH430587", currentP1 = "6") turned_off_car = False if c < 2 and turned_off_all == False: esphome.terrassevarmer_pause() esphome.varmtvannstank_pause() persistent_notification.create(title = "Strøm", message = "Effektbegrensing slo av alt.") turned_off_all = True if c > 5 and turned_off_all == True: esphome.terrassevarmer_resume() esphome.varmtvannstank_resume() turned_off_all = False @state_trigger("input_number.max_energy_usage") def setpoint(value=None): pid.setpoint = float(value) @state_trigger("input_number.consumption_lasthour") def hourly_usage(value=None): if float(value) > float(input_number.max_energy_usage): script.turn_on(entity_id = "script.send_melding", variables = {'message': 'Strømforbruk var større enn grense', 'title': 'Strøm', 'channel': 'Info'}) Siter
hjemmedude Skrevet 16. desember 2021 Skrevet 16. desember 2021 Tror du trenger en requirements.txt fil hvor du importerer simple-pid. stigvi har tidligere kommentert dette på forumet, husker ikke hvilken tråd Siter
DeVerSion Skrevet 16. desember 2021 Forfatter Skrevet 16. desember 2021 Ok, prøvde å finne ut tidligere om noe lignende hadde blitt spurt om. Fant dessverre ikke stort. Har knotet med dette noen dager nå. Vis du finner det ut så er jeg takknemlig om du sier ifra Så kan jeg iallefall komme meg et par steg videre Siter
RuneRH Skrevet 16. desember 2021 Skrevet 16. desember 2021 Hei, Du trenger bare å opprette en fil med navn requirements.txt under pyscript folderen og i denne skal det kun ligge simple_pid på en linje. Rune Siter
DeVerSion Skrevet 16. desember 2021 Forfatter Skrevet 16. desember 2021 Takk, ser ut til at det fungerer. Tommel opp 2 Siter
hjemmedude Skrevet 17. desember 2021 Skrevet 17. desember 2021 Jeg prøver i ledige stunder på det samme, vi er kommet like langt 🙂 Scehdy og pid er neste på programmet. Så kan vi håpe frp og rødt skroter hele nettleie-modellen 😉 Siter
Anbefalte innlegg
Bli med i samtalen
Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.