FEAT : Nouveau relais
This commit is contained in:
parent
109424fc50
commit
e719b6058c
14
borne.code-workspace
Normal file
14
borne.code-workspace
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
{
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"path": "."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mpy Remote Workspace",
|
||||||
|
"uri": "pico:"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"settings": {
|
||||||
|
"python.languageServer": "Pylance"
|
||||||
|
}
|
||||||
|
}
|
||||||
64
main.py
64
main.py
@ -1,9 +1,10 @@
|
|||||||
from machine import Pin, I2C
|
from machine import Pin
|
||||||
from neopixel import NeoPixel
|
from neopixel import NeoPixel
|
||||||
|
|
||||||
import network
|
import network
|
||||||
import time
|
import time
|
||||||
import urequests
|
import urequests
|
||||||
|
import sys
|
||||||
|
|
||||||
Broche = [0, 1, 2, 21, 22, 23, 16, 17, 19, 20, 18]
|
Broche = [0, 1, 2, 21, 22, 23, 16, 17, 19, 20, 18]
|
||||||
|
|
||||||
@ -52,20 +53,16 @@ class Bouton:
|
|||||||
self.todo()
|
self.todo()
|
||||||
|
|
||||||
class Relais:
|
class Relais:
|
||||||
i2c = I2C(scl=Pin(Broche[5]), sda=Pin(Broche[4]), freq=20000)
|
pin = Pin(Broche[5], Pin.OUT) #
|
||||||
I2C_ADDR = 0x11
|
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
self.solaire()
|
self.solaire()
|
||||||
|
|
||||||
def off(self):
|
|
||||||
self.i2c.writeto_mem(self.I2C_ADDR, 0x10, bytes([0b0000]))
|
|
||||||
|
|
||||||
def solaire(self):
|
def solaire(self):
|
||||||
self.i2c.writeto_mem(self.I2C_ADDR, 0x10, bytes([0b0011]))
|
self.pin.off()
|
||||||
|
|
||||||
def reseau(self):
|
def reseau(self):
|
||||||
self.i2c.writeto_mem(self.I2C_ADDR, 0x10, bytes([0b1100]))
|
self.pin.on()
|
||||||
|
|
||||||
class Cloud:
|
class Cloud:
|
||||||
token_ha = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkNGY4MDdmYWYzNDQ0NTc0ODY4MmFmNzA4NDdmMTE0MyIsImlhdCI6MTc2NDQ1Mzk0NSwiZXhwIjoyMDc5ODEzOTQ1fQ.DJgSqeTKPHWbKEFH3HuFih4QKt3CSqLqot34_vhCOQU"
|
token_ha = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkNGY4MDdmYWYzNDQ0NTc0ODY4MmFmNzA4NDdmMTE0MyIsImlhdCI6MTc2NDQ1Mzk0NSwiZXhwIjoyMDc5ODEzOTQ1fQ.DJgSqeTKPHWbKEFH3HuFih4QKt3CSqLqot34_vhCOQU"
|
||||||
@ -210,26 +207,33 @@ consigne = 80
|
|||||||
solaire = True
|
solaire = True
|
||||||
|
|
||||||
while True:
|
while True:
|
||||||
solaire = True
|
|
||||||
i = (i + 1) % 10
|
|
||||||
print(f"-------------- {i}")
|
|
||||||
charge = cloud.zoe()
|
|
||||||
HC = cloud.HC()
|
|
||||||
leds.afficher(charge = charge, consigne = consigne)
|
|
||||||
if (consigne > charge):
|
|
||||||
if (bouton_bleu.is_on()):
|
|
||||||
if HC:
|
|
||||||
print(f"Réseau demandé alors que consigne ({consigne}) > charge ({charge}) et que l'on est en HC")
|
|
||||||
solaire = False
|
|
||||||
else:
|
|
||||||
print(f"Réseau demandé alors que consigne ({consigne}) > charge ({charge}) MAIS on n'est pas en HC")
|
|
||||||
if (bouton_rouge.is_on()):
|
|
||||||
print(f"Réseau demandé alors que consigne ({consigne}) > charge ({charge}) et que l'on ne tient pas compte des HC/HP ({"HC" if HC else "HP"})")
|
|
||||||
solaire = False
|
|
||||||
if solaire:
|
|
||||||
print(f"On force le solaire : consigne ({consigne}) ; charge ({charge}) ; HC/HP ({"HC" if HC else "HP"})")
|
|
||||||
relais.solaire()
|
|
||||||
else:
|
|
||||||
print(f"On force le réseau : consigne ({consigne}) ; charge ({charge}) ; HC/HP ({"HC" if HC else "HP"})")
|
|
||||||
relais.reseau()
|
|
||||||
time.sleep(pas_temps)
|
time.sleep(pas_temps)
|
||||||
|
try:
|
||||||
|
solaire = True
|
||||||
|
i = (i + 1) % 10
|
||||||
|
print(f"-------------- {i}")
|
||||||
|
charge = cloud.zoe()
|
||||||
|
HC = cloud.HC()
|
||||||
|
leds.afficher(charge = charge, consigne = consigne)
|
||||||
|
if (consigne > charge):
|
||||||
|
if (bouton_bleu.is_on()):
|
||||||
|
if HC:
|
||||||
|
print(f"Réseau demandé alors que consigne ({consigne}) > charge ({charge}) et que l'on est en HC")
|
||||||
|
solaire = False
|
||||||
|
else:
|
||||||
|
print(f"Réseau demandé alors que consigne ({consigne}) > charge ({charge}) MAIS on n'est pas en HC")
|
||||||
|
if (bouton_rouge.is_on()):
|
||||||
|
print(f"Réseau demandé alors que consigne ({consigne}) > charge ({charge}) et que l'on ne tient pas compte des HC/HP ({"HC" if HC else "HP"})")
|
||||||
|
solaire = False
|
||||||
|
if solaire:
|
||||||
|
print(f"On force le solaire : consigne ({consigne}) ; charge ({charge}) ; HC/HP ({"HC" if HC else "HP"})")
|
||||||
|
relais.solaire()
|
||||||
|
else:
|
||||||
|
print(f"On force le réseau : consigne ({consigne}) ; charge ({charge}) ; HC/HP ({"HC" if HC else "HP"})")
|
||||||
|
relais.reseau()
|
||||||
|
except Exception as e:
|
||||||
|
print("!!! ERREUR !!!")
|
||||||
|
sys.print_exception(e)
|
||||||
|
# print(type(e))
|
||||||
|
# print(e.args)
|
||||||
|
# print(e)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user