Bonjour ,
Merci , j’ai réussi à charger le code sur l’ESP C6 ,
Bonjour ,
Merci , j’ai réussi à charger le code sur l’ESP C6 ,
Bonjour a tous, Je me greffe sur ce projet très interressant !
J’ai aussi un electrolyseur Poolsquad Uno de la société Pool Technologie
J’ai pris un EST-Poe-32 compatible esp32 (avec le port lan en plus) j’ai pas de wifi dans mon local technique de piscine.
J’ai un bout de code @Ricky_D
je viens de le faire tourner en changeant la mac adress voici les resultats:
[15:48:37][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_CONNECT_EVT
[15:48:37][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_OPEN_EVT
[15:48:37][I][ble_sensor:031]: [device_name] Connected successfully!
[15:48:37][I][ble_sensor:031]: [traitement] Connected successfully!
[15:48:37][D][esp32_ble_tracker:266]: Starting scan...
[15:48:37][D][esp32_ble_client:172]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_DISCONNECT_EVT, reason 19
[15:48:37][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_CLOSE_EVT
[15:48:37][W][ble_sensor:037]: [device_name] Disconnected!
[15:48:37][D][sensor:094]: 'device_name': Sending state nan with 0 decimals of accuracy
[15:48:37][W][ble_sensor:037]: [traitement] Disconnected!
[15:48:37][D][sensor:094]: 'traitement': Sending state nan with 0 decimals of accuracy
[15:48:43][D][sensor:094]: 'JustSalt RSSI': Sending state -55.00000 dBm with 0 decimals of accuracy
[15:48:43][D][ble_adv:076]: New BLE device
[15:48:43][D][ble_adv:077]: address: 18:C2:93:03:CC:FB
[15:48:43][D][ble_adv:078]: name: GEN_0323-047091-009
[15:48:43][D][text_sensor:064]: 'Name': Sending state 'GEN_0323-047091-009'
[15:48:43][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] Found device
[15:48:43][D][esp32_ble_tracker:665]: Found device 18:C2:93:03:CC:FB RSSI=-55
[15:48:43][D][esp32_ble_tracker:686]: Address Type: PUBLIC
[15:48:43][D][esp32_ble_tracker:688]: Name: 'GEN_0323-047091-009'
[15:48:43][D][esp32_ble_tracker:215]: Pausing scan to make connection...
[15:48:43][W][component:237]: Component esp32_ble_tracker took a long time for an operation (63 ms).
[15:48:43][W][component:238]: Components should block for at most 30 ms.
[15:48:43][I][esp32_ble_client:067]: [0] [18:C2:93:03:CC:FB] 0x00 Attempting BLE connection
[15:48:44][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_CONNECT_EVT
[15:48:44][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_OPEN_EVT
[15:48:44][I][ble_sensor:031]: [device_name] Connected successfully!
[15:48:44][I][ble_sensor:031]: [traitement] Connected successfully!
[15:48:44][D][esp32_ble_tracker:266]: Starting scan...
[15:48:44][D][esp32_ble_client:306]: [0] [18:C2:93:03:CC:FB] Event 46
[15:48:44][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_SEARCH_CMPL_EVT
[15:48:44][I][esp32_ble_client:227]: [0] [18:C2:93:03:CC:FB] Connected
[15:48:44][D][esp32_ble_client:188]: [0] [18:C2:93:03:CC:FB] cfg_mtu status 0, mtu 250
[15:48:44][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_REG_FOR_NOTIFY_EVT
[15:48:44][D][esp32_ble_client:296]: Wrote notify descriptor 2, properties=46
[15:48:44][D][ble_sensor:103]: Register for notify on EF785C24-22BB-463D-B651-0B7445BA091C complete
[15:48:44][D][ble_client:058]: All clients established, services released
[15:48:44][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_WRITE_DESCR_EVT
[15:48:44][W][component:237]: Component esp32_ble took a long time for an operation (54 ms).
[15:48:44][W][component:238]: Components should block for at most 30 ms.
[15:48:49][D][esp32_ble_client:172]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_DISCONNECT_EVT, reason 19
[15:48:49][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_CLOSE_EVT
[15:48:49][W][ble_sensor:037]: [device_name] Disconnected!
[15:48:49][D][sensor:094]: 'device_name': Sending state nan with 0 decimals of accuracy
[15:48:49][W][ble_sensor:037]: [traitement] Disconnected!
[15:48:49][D][sensor:094]: 'traitement': Sending state nan with 0 decimals of accuracy
Il a l’air de se connecter mais …
Voici mon code:
substitutions:
mac_justsalt: "18:C2:93:03:CC:FB"
service_uuid: '09912756-7b32-4629-aeb1-b309d9a338ae'
characteristic_uuid: 'ef785c24-22bb-463d-b651-0b7445ba091c'
characteristic_uuid_write: '4d32c5e5-2bb5-45c6-8c89-6f59bb3930d2'
esphome:
name: bluetooth
friendly_name: Bluetooth
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "neengAly0OaTBpnyOUBU6roeQLghCe0EUjPHY2LsTKw="
ota:
password: "a8ca7d114e2ae67004c035e7cea8c7f5"
#wifi:
# ssid: !secret wifi_ssid
# password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
#ap:
# ssid: "Bluetooth Fallback Hotspot"
# password: "b29toFGi4EAN"
#captive_portal:
web_server:
port: 80
ethernet:
type: LAN8720
mdc_pin: GPIO23
mdio_pin: GPIO18
clk_mode: GPIO17_OUT
phy_addr: 0
power_pin: GPIO12
manual_ip:
static_ip: 192.168.1.163
gateway: 192.168.1.254
subnet: 255.255.255.0
bluetooth_proxy:
active: true
time:
- platform: homeassistant
id: homeassistant_time
on_time:
- seconds: 0
minutes: /5
then:
- switch.turn_off: ble_switch_com
- delay: 20s
- switch.turn_on: ble_switch_com
esp32_ble_tracker:
on_ble_advertise:
- mac_address:
- ${mac_justsalt}
then:
- lambda: |-
ESP_LOGD("ble_adv", "New BLE device");
ESP_LOGD("ble_adv", " address: %s", x.address_str().c_str());
ESP_LOGD("ble_adv", " name: %s", x.get_name().c_str());
id(ble_name2).publish_state(x.get_name().c_str());
ble_client:
- mac_address: ${mac_justsalt}
auto_connect: true
id: JustSaltPro
on_connect:
then:
- ble_client.numeric_comparison_reply:
id: JustSaltPro
accept: True
binary_sensor:
- platform: ble_presence
mac_address: ${mac_justsalt}
name: JustSaltPro
text_sensor:
- platform: version
name: ESPHome Version
#- platform: wifi_info
# ssid:
# name: WiFi
- id: ble_name
name: "Name BLE"
platform: template
- id: ble_name2
name: "Name"
platform: template
- id: version_logiciel
name: "version logiciel"
platform: template
- id: Slave
name: "Slave"
platform: template
sensor:
#- platform: wifi_signal
# name: Wifi signal
# update_interval: 10s
- platform: uptime
name: Uptime
- platform: ble_rssi
mac_address: ${mac_justsalt}
name: "JustSalt RSSI"
- platform: template
name: "volume piscine"
id: JustSalt_volume_sensor
unit_of_measurement: "m3"
- platform: template
name: "JustSalt Temperature"
id: JustSalt_temperature_sensor
unit_of_measurement: "°C"
accuracy_decimals: 1
state_class: measurement
device_class: temperature
- platform: template
name: "JustSalt Temperature Int"
id: JustSalt_temperature_int_sensor
unit_of_measurement: "°C"
accuracy_decimals: 1
state_class: measurement
device_class: temperature
- platform: template
name: "JustSalt pH"
id: JustSalt_ph_sensor
unit_of_measurement: "pH"
accuracy_decimals: 2
state_class: measurement
icon: mdi:ph
- platform: template
name: "JustSalt pH consigne"
id: JustSalt_ph_consigne_sensor
unit_of_measurement: "pH"
accuracy_decimals: 2
state_class: measurement
icon: mdi:ph
- platform: template
name: "JustSalt ORP"
id: JustSalt_orp_sensor
unit_of_measurement: "mV"
accuracy_decimals: 0
state_class: measurement
device_class: voltage
- platform: template
name: "JustSalt TDS"
id: JustSalt_tds_sensor
unit_of_measurement: "g/L"
accuracy_decimals: 1
state_class: measurement
icon: mdi:water-opacity
- platform: ble_client
ble_client_id: JustSaltPro
id: device_name
service_uuid: '1800' # Generic Access Profile
characteristic_uuid: '2a00' # Device Name
type: characteristic
lambda: |-
std::string data_string(x.begin(), x.end());
id(ble_name).publish_state(data_string.c_str());
return (float)x.size();
- platform: ble_client
ble_client_id: JustSaltPro
name: "traitement"
id: sensor_state
service_uuid: '09912756-7b32-4629-aeb1-b309d9a338ae'
characteristic_uuid: 'ef785c24-22bb-463d-b651-0b7445ba091c'
type: characteristic
update_interval: 30s
notify: true
lambda: |-
ESP_LOGD("ble_client.receive", "start - value received with %d bytes: [%.*s]", x.size(), x.size(), &x[0]);
std::string value2(x.begin(), x.end());
std::string rawhex = format_hex_pretty((uint8_t *) value2.c_str(), value2.size()).c_str();
ESP_LOGD("raw_hex", "%s", rawhex.c_str());
rawhex.erase(std::remove(rawhex.begin(), rawhex.end(), '.'), rawhex.end());
//ESP_LOGD("raw_hex_stripped", "%s", rawhex.c_str());
ESP_LOGD("raw_hex_stripped", "value received with %d bytes: [%.*s]", rawhex.size(), rawhex.c_str());
switch (x.size()) {
case 9: {
std::string temppart1 = rawhex.substr(10, 4);
ESP_LOGD("chaine 9", "%s", temppart1.c_str());
uint16_t tempinthex = (x[5] << 8) + x[6];
ESP_LOGD("chaine 9", "%x", tempinthex);
float tempint = static_cast<float>(tempinthex)/10;
//id(JustSalt_temperature_int_sensor).publish_state(tempint);
}break;
case 13: {
std::string temppart1 = rawhex.substr(10, 4);
ESP_LOGD("chaine 13", "%s", temppart1.c_str());
uint16_t orphex = (x[5] << 8) + x[6];
ESP_LOGD("chaine 13", "%x", orphex);
float orp = static_cast<float>(orphex);
id(JustSalt_orp_sensor).publish_state(orp);
}break;
case 71: {
std::string temppart3 = rawhex.substr(30, 4);
ESP_LOGD("chaine 71", "version : %s", temppart3.c_str());
id(version_logiciel).publish_state(temppart3);
}break;
case 76:{
std::string temppart2 = rawhex.substr(10, 2);
ESP_LOGD("chaine 76", "%s", temppart2.c_str());
uint8_t phhex = x[5];
float ph = static_cast<float>(phhex)/10;
id(JustSalt_ph_sensor).publish_state(ph);
std::string temppart3 = rawhex.substr(44, 4);
ESP_LOGD("chaine 76", "%s", temppart3.c_str());
uint16_t tempeauhex = (x[22]<< 8) + x[23];
ESP_LOGD("chaine 76", "%x", tempeauhex);
float tempeau = static_cast<float>(tempeauhex)/10;
id(JustSalt_temperature_sensor).publish_state(tempeau);
std::string temppart1 = rawhex.substr(52, 2);
ESP_LOGD("chaine 76", "%s", temppart1.c_str());
uint8_t selhex = x[26] ;
float sel = static_cast<float>(selhex)/10;
id(JustSalt_tds_sensor).publish_state(sel);
std::string temppart4 = rawhex.substr(104, 2);
ESP_LOGD("chaine 76", "%s", temppart4.c_str());
uint8_t volhex = x[52] ;
float vol = static_cast<float>(volhex);
id(JustSalt_volume_sensor).publish_state(vol);
}break;
case 78:{
std::string temppart2 = rawhex.substr(24, 2);
ESP_LOGD("chaine 78", "%s", temppart2.c_str());
uint8_t phhex = x[12];
float ph = static_cast<float>(phhex)/10;
id(JustSalt_ph_consigne_sensor).publish_state(ph);
}break;
}
return 1;
switch:
- platform: restart
name: JustSalt_Gatway restart
- platform: ble_client
id: ble_switch_com
ble_client_id: JustSaltPro
name: "Enable com JustSalt"
voici la vue du server_web de mon esp_home
voici la capture avec mon tel android
Pouvez vous m’aider pour aller plus loin, pour afficher une trame par ex
merci
salut
as tu déclencher le mode appairage sur ton électrolyseur
attention pour rappel l électrolyseur ne peux appairer qu’un seul appareil !
donc coupe le BT de ton tel, reboot ton esp puis enclenche l appairage
ca devrai le faire
ok ca a l’air mieux
[16:20:23][W][component:237]: Component esp32_ble took a long time for an operation (59 ms).
[16:20:23][W][component:238]: Components should block for at most 30 ms.
[16:20:23][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_WRITE_DESCR_EVT
[16:20:24][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_NOTIFY_EVT
[16:20:24][D][ble_sensor:089]: [device_name] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:24][D][ble_sensor:089]: [traitement] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:24][D][ble_client.receive:206]: start - value received with 245 bytes: []
[16:20:24][D][raw_hex:209]: 00.F5.01.01.01.46.02.02.02.BC.03.01.4E.08.01.64.09.02.00.EB.0A.01.23.0B.01.1B.0C.01.11.0D.02.00.60.0E.02.08.07.0F.02.01.02.10.02.01.90.11.02.00.1E.12.04.00.16.06.17.1F.02.02.E9.28.02.0D.AC.29.01.03.2A.01.01.30.01.48.31.01.00.32.01.0F.33.01.4E.39.01.02.45.01.5A.46.01.14.4E.01.01.4F.01.00.50.01.01.51.01.01.5F.01.1B.67.02.00.00.69.04.00.00.00.00.6A.01.00.8F.01.05.90.08.00.00.00.00.00.00.00.00.91.08.00.00.00.00.00.0E.6F.C3.92.01.15.93.02.01.81.94.02.00.F1.95.04.01.80.B1.82.96.02.01.03.
[16:20:24][D][raw_hex_stripped:213]: value received with 496 bytes: []
[16:20:24][D][sensor:094]: 'traitement': Sending state 1.00000 with 0 decimals of accuracy
[16:20:24][W][component:237]: Component esp32_ble took a long time for an operation (96 ms).
[16:20:24][W][component:238]: Components should block for at most 30 ms.
[16:20:24][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_NOTIFY_EVT
[16:20:24][D][ble_sensor:089]: [device_name] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:24][D][ble_sensor:089]: [traitement] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:24][D][ble_client.receive:206]: start - value received with 28 bytes: []
[16:20:24][D][raw_hex:209]: 00.1C.01.B0.01.3E.B1.06.18.C2.93.03.CC.FB.B2.02.F7.00.B3.02.01.02.D1.01.05.FE.01.01 (28)
[16:20:24][D][raw_hex_stripped:213]: value received with 61 bytes: []
[16:20:25][D][sensor:094]: 'traitement': Sending state 1.00000 with 0 decimals of accuracy
[16:20:25][W][component:237]: Component esp32_ble took a long time for an operation (62 ms).
[16:20:25][W][component:238]: Components should block for at most 30 ms.
[16:20:25][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_NOTIFY_EVT
[16:20:26][D][ble_sensor:089]: [device_name] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:26][D][ble_sensor:089]: [traitement] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:26][D][ble_client.receive:206]: start - value received with 6 bytes: []
[16:20:26][D][raw_hex:209]: 00.06.01.B0.01.3E (6)
[16:20:26][D][raw_hex_stripped:213]: value received with 16 bytes: []
[16:20:26][D][sensor:094]: 'traitement': Sending state 1.00000 with 0 decimals of accuracy
[16:20:27][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_NOTIFY_EVT
[16:20:27][D][ble_sensor:089]: [device_name] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:27][D][ble_sensor:089]: [traitement] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:27][D][ble_client.receive:206]: start - value received with 6 bytes: []
[16:20:27][D][raw_hex:209]: 00.06.01.B0.01.3D (6)
[16:20:27][D][raw_hex_stripped:213]: value received with 16 bytes: []
[16:20:27][D][sensor:094]: 'traitement': Sending state 1.00000 with 0 decimals of accuracy
[16:20:27][W][component:237]: Component esp32_ble took a long time for an operation (52 ms).
[16:20:27][W][component:238]: Components should block for at most 30 ms.
[16:20:28][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_NOTIFY_EVT
[16:20:28][D][ble_sensor:089]: [device_name] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:28][D][ble_sensor:089]: [traitement] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:28][D][ble_client.receive:206]: start - value received with 6 bytes: []
[16:20:28][D][raw_hex:209]: 00.06.01.B0.01.3F (6)
[16:20:28][D][raw_hex_stripped:213]: value received with 16 bytes: []
[16:20:28][D][sensor:094]: 'traitement': Sending state 1.00000 with 0 decimals of accuracy
[16:20:28][W][component:237]: Component esp32_ble took a long time for an operation (51 ms).
[16:20:28][W][component:238]: Components should block for at most 30 ms.
[16:20:29][D][esp32_ble_client:110]: [0] [18:C2:93:03:CC:FB] ESP_GATTC_NOTIFY_EVT
[16:20:29][D][ble_sensor:089]: [device_name] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:29][D][ble_sensor:089]: [traitement] ESP_GATTC_NOTIFY_EVT: handle=0x13, value=0x0
[16:20:29][D][ble_client.receive:206]: start - value received with 13 bytes: []
[16:20:29][D][raw_hex:209]: 00.0D.01.01.01.47.02.02.02.C6.B0.01.3F (13)
[16:20:29][D][raw_hex_stripped:213]: value received with 31 bytes: []
[16:20:29][D][chaine 13:227]: 4702
[16:20:29][D][chaine 13:229]: 4702
[16:20:29][D][sensor:094]: 'JustSalt ORP': Sending state 18178.00000 mV with 0 decimals of accuracy
[16:20:29][D][sensor:094]: 'traitement': Sending state 1.00000 with 0 decimals of accuracy
[16:20:29][W][component:237]: Component esp32_ble took a long time for an operation (75 ms).
[16:20:29][W][component:238]: Components should block for at most 30 ms.
Par contre je sais pas comment interpreter la trame , sachant que mon :
Ph vaut actuellement 7.1 (47 en Hex)
Sel : 3.5
Temperature de l’eau : 23 (17 en Hex)
J’imagine que c’est la grosse trame que je recois quand il est : xx:x5 ?
00.F5.01.01.01.46.02.02.02.BC.03.01.4E.08.01.64.09.02.00.EB.0A.01.23.0B.01.1B.0C.01.11.0D.02.00.60.0E.02.08.07.0F.02.01.02.10.02.01.90.11.02.00.1E.12.04.00.16.06.17.1F.02.02.E9.28.02.0D.AC.29.01.03.2A.01.01.30.01.48.31.01.00.32.01.0F.33.01.4E.39.01.02.45.01.5A.46.01.14.4E.01.01.4F.01.00.50.01.01.51.01.01.5F.01.1B.67.02.00.00.69.04.00.00.00.00.6A.01.00.8F.01.05.90.08.00.00.00.00.00.00.00.00.91.08.00.00.00.00.00.0E.6F.C3.92.01.15.93.02.01.81.94.02.00.F1.95.04.01.80.B1.82.96.02.01.03.
en passant la trame dans chatgpt
il me dit
Température (23.5°C) : 23.5×10=235. En hexadécimal, cela donne 00 EB
.
Taux de sel (3.5 g/L) :** 3.5×10=35. En hexadécimal, cela donne 23
.
Taux de pH (7.0) :** 7.0×10=70. En hexadécimal, cela donne 46
.
Tu crois que ca marche comme ca?
Faut que j’arrive a extraire les données avec Esphome maintenant dur dur
oui ca marche comme ca ! c est ce que je fait dans mon code
mais si tu a repris mon code ! ca doit tous te remonter
ta trame est composer de :
XX XX XX 3premier octet que je ne sais pas ce qu il signifie certainement un CRC
puis les octets de donnée contruit comme ca!
XX : ID de la donnée
XX : taille en octet de la donnée
XX (en foncttion de la taille)
voici ce que nous avons déjà trouvé co
ID | ID hex | ||||
---|---|---|---|---|---|
0 | 00 | ||||
1 | 01 | PH | float | Valeur : ID = 1: taille = 1: Value = 48 | |
2 | 02 | Valeur : ID = 2: taille = 2: Value = 02.D0 | |||
3 | 03 | Valeur : ID = 3: taille = 1: Value = 64 | |||
4 | 04 | ||||
5 | 05 | ||||
6 | 06 | ORP | uint16_t | Valeur : ID = 6: taille = 2: Value = 02.AC | |
7 | 07 | ||||
8 | 08 | Valeur : ID = 8: taille = 1: Value = 64 | |||
9 | 09 | Temp eau | float | Valeur : ID = 9: taille = 2: Value = 00.B9 | |
10 | 0A | Sel | float | Valeur : ID = 10: taille = 1: Value = 1C | |
11 | 0B | Valeur : ID = 11: taille = 1: Value = 0B | |||
12 | 0C | Valeur : ID = 12: taille = 1: Value = 00 | |||
13 | 0D | Valeur : ID = 13: taille = 2: Value = 00.44 | |||
14 | 0E | compteur en heure ? | float | Valeur : ID = 14: taille = 2: Value = 0E.14 | |
15 | 0F | minutes de fonctionement | float | Valeur : ID = 15: taille = 2: Value = 00.69 | |
16 | 10 | Valeur : ID = 16: taille = 2: Value = 00.4A | |||
17 | 11 | Vol eau | float | Valeur : ID = 17: taille = 2: Value = 00.46 | |
18 | 12 | Valeur : ID = 18: taille = 4: Value = 00.0A.04.18 | |||
19 | 13 | Valeur : ID = 19: taille = 4: Value = 00.0A.04.18 | |||
20 | 14 | ||||
21 | 15 | ||||
22 | 16 | ||||
23 | 17 | ||||
24 | 18 | ||||
25 | 19 | ||||
26 | 1A | ||||
27 | 1B | ||||
28 | 1C | ||||
29 | 1D | ||||
30 | 1E | ||||
31 | 1F | ||||
32 | 20 | ||||
33 | 21 | ||||
34 | 22 | ||||
35 | 23 | ||||
36 | 24 | ||||
37 | 25 | ||||
38 | 26 | ||||
39 | 27 | ||||
40 | 28 | Valeur : ID = 40: taille = 2: Value = 0A.F0 | |||
41 | 29 | Valeur : ID = 41: taille = 1: Value = 03 | |||
42 | 2A | Valeur : ID = 42: taille = 1: Value = 01 | |||
43 | 2B | ||||
44 | 2C | ||||
45 | 2D | ||||
46 | 2E | ||||
47 | 2F | ||||
48 | 30 | Consigne PH | float | Valeur : ID = 48: taille = 1: Value = 48 | |
49 | 31 | Valeur : ID = 49: taille = 1: Value = 00 | |||
50 | 32 | %Acide | float | Valeur : ID = 50: taille = 1: Value = 25 | |
51 | 33 | Production | float | Valeur : ID = 51: taille = 1: Value = 64 | |
52 | 34 | ||||
53 | 35 | Consihne ORP | float | Valeur : ID = 53: taille = 1: Value = 43 | |
54 | 36 | ||||
55 | 37 | Seuil alarme ORP | float | Valeur : ID = 55: taille = 1: Value = 30 | |
56 | 38 | ||||
57 | 39 | Inversion | float | Valeur : ID = 57: taille = 1: Value = 08 | |
58 | 3A | ||||
59 | 3B | ||||
60 | 3C | ||||
61 | 3D | ||||
62 | 3E | ||||
63 | 3F | ||||
64 | 40 | ||||
65 | 41 | ||||
66 | 42 | ||||
67 | 43 | ||||
68 | 44 | ||||
69 | 45 | ||||
70 | 46 | ||||
71 | 47 | ||||
72 | 48 | ||||
73 | 49 | ||||
74 | 4A | ||||
75 | 4B | ||||
76 | 4C | ||||
77 | 4D | ||||
78 | 4E | ||||
79 | 4F | ||||
80 | 50 | Valeur : ID = 80: taille = 1: Value = 02 | |||
81 | 51 | Valeur : ID = 81: taille = 1: Value = 01 | |||
82 | 52 | ||||
83 | 53 | ||||
84 | 54 | ||||
85 | 55 | ||||
86 | 56 | ||||
87 | 57 | ||||
88 | 58 | I | |||
89 | 59 | ||||
90 | 5A | ||||
91 | 5B | ||||
92 | 5C | ||||
93 | 5D | ||||
94 | 5E | Valeur : ID = 95: taille = 1: Value = 00 | |||
95 | 5F | ||||
96 | 60 | ||||
97 | 61 | ||||
98 | 62 | ||||
99 | 63 | ||||
100 | 64 | ||||
101 | 65 | ||||
102 | 66 | ||||
103 | 67 | ||||
104 | 68 | ||||
105 | 69 | Valeur : ID = 105: taille = 4: Value = 00.00.00.00 | |||
106 | 6A | Valeur : ID = 106: taille = 1: Value = 00 | |||
107 | 6B | ||||
108 | 6C | ||||
109 | 6D | ||||
110 | 6E | ||||
111 | 6F | ||||
112 | 70 | ||||
113 | 71 | ||||
114 | 72 | ||||
115 | 73 | ||||
116 | 74 | ||||
117 | 75 | ||||
118 | 76 | ||||
119 | 77 | ||||
120 | 78 | ||||
121 | 79 | ||||
122 | 7A | ||||
123 | 7B | ||||
124 | 7C | ||||
125 | 7D | ||||
126 | 7E | ||||
127 | 7F | ||||
128 | 80 | ||||
129 | 81 | ||||
130 | 82 | ||||
131 | 83 | ||||
132 | 84 | ||||
133 | 85 | ||||
134 | 86 | ||||
135 | 87 | ||||
136 | 88 | ||||
137 | 89 | ||||
138 | 8A | ||||
139 | 8B | ||||
140 | 8C | ||||
141 | 8D | ||||
142 | 8E | ||||
143 | 8F | Valeur : ID = 143: taille = 1: Value = 04 | |||
144 | 90 | Valeur : ID = 144: taille = 8: Value = 00.00.00.00.00.00.00.00 | |||
145 | 91 | Valeur : ID = 145: taille = 8: Value = 00.00.00.00.00.06.6F.C7 | |||
146 | 92 | Valeur : ID = 146: taille = 1: Value = 07 | |||
147 | 93 | Valeur : ID = 147: taille = 2: Value = 00.88 | |||
148 | 94 | Valeur : ID = 148: taille = 2: Value = 00.F8 | |||
149 | 95 | ID Code | float | Valeur : ID = 149: taille = 4: Value = 01.72.F5.DF | |
150 | 96 | Version | string | Valeur : ID = 150: taille = 2: Value = 02.04 | |
151 | 97 | Slave | string | Valeur : ID = 151: taille = 2: Value = 01.00 | |
152 | 98 | ||||
153 | 99 | Nom | Ascii | Valeur : ID = 153: taille = 22: Value = 47.45.4E.5F.30.35.32.32.2D.30.34.33.39.35.33.2D.30.30.33.00.00.00 | |
154 | 9A | SN | Ascii | Valeur : ID = 154: taille = 16: Value = 30.35.32.32.2D.30.34.33.39.35.33.2D.30.30.33.00 | |
155 | 9B | Valeur : ID = 155: taille = 2: Value = 00.00 | |||
156 | 9C | Valeur : ID = 156: taille = 2: Value = 00.00 | |||
157 | 9D | Valeur : ID = 157: taille = 8: Value = 00.00.00.00.00.00.01.FF | |||
158 | 9E | ||||
159 | 9F | ||||
160 | A0 | ||||
161 | A1 | ||||
162 | A2 | ||||
163 | A3 | ||||
164 | A4 | ||||
165 | A5 | ||||
166 | A6 | ||||
167 | A7 | ||||
168 | A8 | ||||
169 | A9 | ||||
170 | AA | ||||
171 | AB | ||||
172 | AC | ||||
173 | AD | ||||
174 | AE | ||||
175 | AF | ||||
176 | B0 | Valeur : ID = 176: taille = 1: Value = 37 | |||
177 | B1 | Mac adresse | Ascii | Valeur : ID = 177: taille = 6: Value = 94.DE.B8.A1.1A.AC | |
178 | B2 | ||||
179 | B3 | ||||
180 | B4 | ||||
181 | B5 | ||||
182 | B6 | ||||
183 | B7 | ||||
184 | B8 | ||||
185 | B9 | ||||
186 | BA | ||||
187 | BB | ||||
188 | BC | ||||
189 | BD | ||||
190 | BE | ||||
191 | BF | ||||
192 | C0 | ||||
193 | C1 | ||||
194 | C2 | ||||
195 | C3 | ||||
196 | C4 | ||||
197 | C5 | ||||
198 | C6 | ||||
199 | C7 | ||||
200 | C8 | ||||
201 | C9 | ||||
202 | CA | ||||
203 | CB | ||||
204 | CC | ||||
205 | CD | ||||
206 | CE | ||||
207 | CF | ||||
208 | D0 | ||||
209 | D1 | Valeur : ID = 209: taille = 1: Value = 05 | |||
210 | D2 | ||||
211 | D3 | ||||
212 | D4 | ||||
213 | D5 | ||||
214 | D6 | ||||
215 | D7 | ||||
216 | D8 | ||||
217 | D9 | ||||
218 | DA | ||||
219 | DB | ||||
220 | DC | ||||
221 | DD | ||||
222 | DE | ||||
223 | DF | ||||
224 | E0 | ||||
225 | E1 | Valeur : ID = 225: taille = 15: Value = 18.05.17.0B.28.15.00.00.88.00.F8.00.00.00.00 | |||
226 | E2 | ||||
227 | E3 | ||||
228 | E4 | ||||
229 | E5 | ||||
230 | E6 | ||||
231 | E7 | ||||
232 | E8 | ||||
233 | E9 | ||||
234 | EA | ||||
235 | EB | ||||
236 | EC | ||||
237 | ED | ||||
238 | EE | ||||
239 | EF | ||||
240 | F0 | ||||
241 | F1 | ||||
242 | F2 | ||||
243 | F3 | ||||
244 | F4 | ||||
245 | F5 | ||||
246 | F6 | ||||
247 | F7 | ||||
248 | F8 | ||||
249 | F9 | ||||
250 | FA | ||||
251 | FB | ||||
252 | FC | ||||
253 | FD | ||||
254 | FE | ||||
255 | FF |
C’est genial !
Je vais regarder tout ca…
tiens j’en profite, sur ma piscine j’ai un volet roulant pilotable en bluetooth
tu crois que je peux aussi l’automatiser ?
merci
Oui ça doit ce faire
Bon moi je n’arrive à rien faire avec mon ESP32;
J’ai collé le code, modifié le MAC de l’électrolyseur mais je n’ai que des problèmes de connexion wifi, j’ai pourtant fixé l’ip mais je suis soit déconnecté sans arrêt, soit pas de connexion avec toujours ce message d’erreur . J’ai même changé d’esp, ça déco*ne toujours.
INFO Starting log output from 192.168.1.225 using esphome API
WARNING Can't connect to ESPHome API for epool-usbc @ 192.168.1.225: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.1.225', port=6053))]: [Errno 113] Connect call failed ('192.168.1.225', 6053) (SocketAPIError)
INFO Trying to connect to epool-usbc @ 192.168.1.225 in the background
voici le début mon code (le reste c’est un copié coller du dernier code) si quelqu’un peut m’aider ?
esphome:
name: epool-usbc
friendly_name: epool_usbc
substitutions:
mac_justsalt: "F4:B3:B1:0B:CA:18"
service_uuid: '09912756-7b32-4629-aeb1-b309d9a338ae'
characteristic_uuid: 'ef785c24-22bb-463d-b651-0b7445ba091c'
characteristic_uuid_write: '4d32c5e5-2bb5-45c6-8c89-6f59bb3930d2'
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
logger:
# Enable Home Assistant API
api:
encryption:
key: "v89B5kO1KMv818EZx9Cmuke+p5TR58UmU9slQmukOq8="
ota:
password: "c3f1f13c96c22d1ea75ec07926b6bcc9"
wifi:
ssid: Freebox
password: **********
manual_ip:
static_ip: 192.168.1.225
gateway: 192.168.1.1
subnet: 255.255.255.0
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Epool"
password: "***********"
captive_portal:
bluetooth_proxy:
active: true
autre message incompréhensible pour moi
INFO Starting log output from 192.168.1.225 using esphome API
INFO Successfully connected to epool-usbc @ 192.168.1.225 in 8.033s
WARNING epool-usbc @ 192.168.1.225: Connection error occurred: epool-usbc @ 192.168.1.225: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.4).
WARNING Can't connect to ESPHome API for epool-usbc @ 192.168.1.225: epool-usbc @ 192.168.1.225: The connection dropped immediately after encrypted hello; Try enabling encryption on the device or turning off encryption on the client (ESPHome Logs 2024.5.4). (HandshakeAPIError)
INFO Trying to connect to epool-usbc @ 192.168.1.225 in the background
Je pense qu il y a de toute façon une merde dans le code le mien plante régulièrement
Et en cpp ça me déréglé l électrolyseur
Il faut que j arrive a me débloquer du temps pour regarder ce qui merdouille
Il est possible que tes déco soit lié au PB de lecture que je rencontre aussi
Donc soit prendre une vielle version 3 4 version en arrière soit patienter jusqu a la prochaine
Merci, je pense plutot à un problème de wifi car si j’essaie de me connecter sans fil à l’esp32, soit ça rame au démarrage, soit ça bloque, soit erreur alors que si je me connecte directement en usb avec l’ordi, toutes les valeurs remontent sau à l’instant, j’ai ça
[I][wifi:303]: WiFi Connecting to 'Apple'...
[20:40:52][W][wifi:633]: Error while connecting to network.
[20:40:52][D][wifi:677]: Retrying with hidden networks...
[20:40:52][I][wifi:303]: WiFi Connecting to 'Apple'...
[20:40:52][W][wifi:649]: Connecting to WiFi network failed. Are the credentials wrong?
[20:40:54][W][wifi_esp32:482][arduino_events]: Event: Disconnected ssid='Apple' bssid=[redacted] reason='Auth Expired'
[20:40:57][I][wifi:303]: WiFi Connecting to 'Apple'...
[20:40:57][W][wifi:633]: Error while connecting to network.
[20:40:57][D][wifi:677]: Retrying with hidden networks...
[20:40:57][I][wifi:303]: WiFi Connecting to 'Apple'...
[20:40:57][W][wifi:649]: Connecting to WiFi network failed. Are the credentials wrong?
[20:40:57][D][wifi:677]: Retrying with hidden networks...
[20:40:59][W][wifi_esp32:482][arduino_events]: Event: Disconnected ssid='Apple' bssid=[redacted] reason='Auth Expired'
[20:41:02][I][wifi:303]: WiFi Connecting to 'Apple'...
[20:41:02][W][wifi:633]: Error while connecting to network.
[20:41:02][W][wifi:670]: Restarting WiFi adapter...
[20:41:02][D][esp-idf:000][esp_timer]: E (29013) wifi:
[20:41:02][D][esp-idf:000][esp_timer]: timeout when WiFi un-init, type=4
[20:41:02][D][esp-idf:000][esp_timer]:
Bonjour ,
pour info: (pour mon Electrolyseur Racer )
la version ESPhome ( version ou l’on peux voir les consigne d’il y a 18 jours) fonctionne sur un ESP32 standard, pas de plantage .
la dernière version ESPhome plante effectivement régulièrement mais je n’ai pas trouvé pourquoi sur un ESP32 standard
la modification de @Alain2 fonctionne sur un ESP32 C6 , pas de plantage
je n’ai pas réussi avec la version MQTT à connecter le bluetooth
Bonjour ,
As tu essayé de laisser l’IP ’ libre ’ du coté ESP et la fixer plutôt du coté Freebox ?
J’ai un routeur entre ma Freebox et mes ESP , je fixe les IP dans le routeur pas dans les ESP .
pas de déconnexion intempestive de mon coté
merci, là j’ai repris un « vieux » code en ne fixant pas l’ip et en laissant la freebox gérer toute seule. Ca a l’air de fonctionner, on va bien voir.
Y aurait pas moyen de supprimer toutes les entités qui ne me servent à rien, je ne voudrais garder que le ph la température le sel et l’orp, ça allégerait le traitement ?
Je ne maitrise pas le reverse bluetooth , comme c’est un ensemble de valeur/trame qui est envoyé je ne suis pas sur que tu puisses les séparer @Ricky_D pourra peut etre confirmer .
Par contre, pour mon volet de piscine sur l’application fournie sur mon téléphone je dois taper un password.
On peut le faire en esphome ?
Tu peux me donner quelques explications ?
@Benoit_Dierickx : soit on fait ca en MP , soit sur un autre topic , mais on va essayer de pas tout mélanger
Toujours sur esphome J’ai modifié le framework en esp idf c’est plus stable pour moi car jusqu’à maintenant j’étais en wifi et je suis passé en ethernet.
Je ai également rajouter un capteur de débit. Je suis intéressé par la fonction volet piscine fermer, même si c sera manuel j’ai pas de contact je penser passer par un swit virtuel dans home assistant
Bonjour, je suis intéressé par la formule ethernet car impossible de stabiliser le wifi de l’esp. Que faut-il faire et acheter pour que l’ethernet fonctionne ? Merci