Termostat DIY do testowania :)

User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

YoMan wrote: Sun Sep 24, 2023 3:31 pm Biblioteka sprzed 2 tyg z twojego githuba, kod skopiowany z pierwszego postu
Na jakiej płytce masz ten problem? Sprawdzam właśnie na ESP32-C3 i działa ok.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
YoMan
Posts: 3521
Joined: Thu Apr 30, 2020 5:18 pm
Location: Częstochowa
Has thanked: 3 times
Been thanked: 3 times

Post

klew wrote: Mon Sep 25, 2023 12:56 pm
YoMan wrote: Sun Sep 24, 2023 3:31 pm Biblioteka sprzed 2 tyg z twojego githuba, kod skopiowany z pierwszego postu
Na jakiej płytce masz ten problem? Sprawdzam właśnie na ESP32-C3 i działa ok.
D1 mini v3, klon
YoMan
________________________________________
Wziąłem udział w SOP2023 & SOP2024
Sproket
Posts: 16
Joined: Mon Mar 06, 2023 10:15 am

Post

Witam. Panowie jaki przekaźnik (beznapięciowy) do wemosa d1 aby włączać i wyłączać kociol co??
robertklepacki94
Posts: 1931
Joined: Thu Sep 02, 2021 1:06 pm
Has thanked: 5 times
Been thanked: 14 times

Post

Sproket wrote: Mon Oct 16, 2023 9:07 am Witam. Panowie jaki przekaźnik (beznapięciowy) do wemosa d1 aby włączać i wyłączać kociol co??
Ja lubie stosować taki przekaźnik.
wem.jpg
You do not have the required permissions to view the files attached to this post.
Wziąłem udział w Supla Offline Party 2023
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

@klew
czy to jest celowo zrobione, że jeżeli moduł nie jest zarejestrowany w clodu to nie działa zapisywanie konfiguracji termostatu? głównie chodzi mi o metody setMainThermometerChannelNo(), setAuxThermometerChannelNo() oraz setTemperatureHisteresis(). Wartości są zapisywane w obiekcie ale po restarcie urządzenia są przywracane na domyślne.
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

krycha88 wrote: Mon Oct 16, 2023 6:36 pm @klew
czy to jest celowo zrobione, że jeżeli moduł nie jest zarejestrowany w clodu to nie działa zapisywanie konfiguracji termostatu? głównie chodzi mi o metody setMainThermometerChannelNo(), setAuxThermometerChannelNo() oraz setTemperatureHisteresis(). Wartości są zapisywane w obiekcie ale po restarcie urządzenia są przywracane na domyślne.
Powinno się zapisywać. Z tego co pamiętam to tam jest dodane kilka s opóźnienia między ustawieniem parametru, a zapisem do flasha, aby nie robić zapisu przy każdym wywołaniu metody. Nie ma tam przypadkiem resetu urządzenia zaraz po ustawieniu?
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

klew wrote: Mon Oct 16, 2023 7:14 pm
krycha88 wrote: Mon Oct 16, 2023 6:36 pm @klew
czy to jest celowo zrobione, że jeżeli moduł nie jest zarejestrowany w clodu to nie działa zapisywanie konfiguracji termostatu? głównie chodzi mi o metody setMainThermometerChannelNo(), setAuxThermometerChannelNo() oraz setTemperatureHisteresis(). Wartości są zapisywane w obiekcie ale po restarcie urządzenia są przywracane na domyślne.
Powinno się zapisywać. Z tego co pamiętam to tam jest dodane kilka s opóźnienia między ustawieniem parametru, a zapisem do flasha, aby nie robić zapisu przy każdym wywołaniu metody. Nie ma tam przypadkiem resetu urządzenia zaraz po ustawieniu?
Jednak trochę inaczej - tam jest różne zachowanie zależnie od tego, czy metodę odpala się przed "SuplaDevice.begin()", czy po.
Założenie jest takie, że jeśli te metody są odpalanie przed "begin()", to są to domyślne wartości, które są ustawiane na urządzeniu i one nie wywołują zapisu do flasha.
Natomiast jak są one wywoływane po "begin()", to pojawia się zapis do flasha z 5 s opóźnieniem.
Najlepsze suple dla Twojego domu :mrgreen:
krycha88
Posts: 5575
Joined: Fri Nov 16, 2018 7:25 am
Been thanked: 5 times

Post

klew wrote: Mon Oct 16, 2023 7:24 pm Jednak trochę inaczej - tam jest różne zachowanie zależnie od tego, czy metodę odpala się przed "SuplaDevice.begin()", czy po.
Założenie jest takie, że jeśli te metody są odpalanie przed "begin()", to są to domyślne wartości, które są ustawiane na urządzeniu i one nie wywołują zapisu do flasha.
Natomiast jak są one wywoływane po "begin()", to pojawia się zapis do flasha z 5 s opóźnieniem.
Ale to chyba nie to. Bo widać, że config się zapisuje, nawet przy wymuszeniu zapisania metodą saveConfig mam identyczny objaw. Co ciekawe po zarejestrowaniu urządzeniu w cloud wszystko działa poprawnie :)

Code: Select all

Button[0]::setMulticlickTime: 450
Supla - starting initialization
Storage initialization
readStorage: 8; Read: [53 55 50 4C 41 1 0 1 ]
Storage: Number of sections 1
Reading section: 0
readStorage: 7; Read: [3 1D 0 8C 6B 8C 6B ]
Section type: 3; size: 29
CRC1 27532, CRC2 27532, CRC calc 27532
Channel function missing. Using SW defaults
HVAC: thermometer channel 0 has invalid type 6100
HVAC: thermometer channel 0 has invalid type 6100
HVAC config missing. Using SW defaults
HVAC weekly schedule missing. Using SW defaults
HVAC alt weekly schedule missing. Using SW defaults
HVAC config changed offline flag 0
HVAC weekly schedule config changed offline flag 0
RemoteDeviceConfig: Registering field 0x00000010
Clock: automaticTimeSync: 1
Button[0] enabling IN as config button
Channel[1] temperature correction 0.000000
Channel[1] humidity correction 0.000000
Channel[1] config changed offline flag 0
Validating storage state section with current device configuration
Storage state section validation completed. Loading elements state...
readStorage: 8; Read: [0 2 34 8 0 0 1 1 ]
readStorage: 8; Read: [0 0 0 0 0 0 0 0 ]
readStorage: 8; Read: [1 0 0 0 0 0 0 0 ]
readStorage: 2; Read: [0 80 ]
readStorage: 2; Read: [0 80 ]
readStorage: 1; Read: [0 ]
HVAC weekly schedule saved successfully
HVAC alt weekly schedule saved successfully
HVAC: thermometer channel 0 has invalid type 6100
HVAC main thermometer channel number 0 is invalid. Clearing.
HVAC: thermometer channel 0 has invalid type 6100
HVAC: thermometer channel 0 has invalid type 6100
HVAC binary sensor function disabled
HVAC[0]:
  Main: 0
  Aux: 0
  Aux type: 2
  AntiFreezeAndOverheatProtectionEnabled: 0
  Sensor: 0
  Algorithms: 3
  UsedAlgorithm: 1
  MinOnTimeS: 0
  MinOffTimeS: 0
  OutputValueOnError: 0
  Subfunction: HEAT (1)
  Setpoint change in weekly schedule: switches to manual
  AuxMinMaxSetpointEnabled: 0
  Temperatures:
    10: 500
    11: 4000
    12: 500
    13: 7500
    14: 20
    15: 1000
    16: 200
    17: 1000
Pin 0, pullUp 1, invertLogic 1, state 1
Found model Si7021Channel(1) value changed to temp(21.994398), humi(67.810577)
GUID: 936B1A900C462935F4D4CA58503EE977
Device name: GUI Generic
Device software version: GG v7.5.13
Initializing network layer
Network AP/hostname: GUI-GENERIC-CC50E31C35BE
Using Supla protocol version 21
Current status: [5] SuplaDevice initialized
Enter normal mode
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
WiFi: establishing connection with SSID: "Gargulec_Guest"
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
Connected BSSID: C8:7F:54:20:EC:D9
local IP: 192.168.1.15
subnetMask: 255.255.255.0
gatewayIP: 192.168.1.1
Signal strength (RSSI): -77 dBm
Establishing NOT encrypted connection with: beta-cloud.supla.org (port: 2015)
Connected to Supla Server
LAST STATE ADDED: Register in progress
Current status: [10] Register in progress
CH #0, type: 6100, FuncList: 0x20000, default: 420, flags: 0x18010000, value: [00 02 34 08 00 00 81 01]
CH #1, type: 3038, FuncList: 0x0, default: 45, flags: 0x8010000, value: [ea 55 00 00 e2 08 01 00]
Send: [53 55 50 4C 41 15 01 00 00 00 45 00 00 00 7A 02 00 00 6B 72 79 73 74 69 61 6E 2E 66 72 61 6E 69 65 63 7A 
65 6B 40 67 6D 61 69 6C 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9B 28 F4 DA 04 73 66 B4 0A 7E 64 D8 B7 14 B1 4B 93 6B 1A 90 0C 46 29 35 F4 D4 CA 58 50 3E E9 77 47 55 49 20 47 65 6E 65 72 69 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Wrote 8 bytes to storage at 15
Wrote 7 bytes to storage at 8
Commit
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
Recv: [53 55 50 4C 41 15 01 00 00 00 46 00 00 00 07 00 00 00 11 00 00 00 78 15 01 53 55 50 4C 41 ]
LAST STATE ADDED: Registration disabled!
Current status: [31] Registration disabled!
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
Channel(1) value changed to temp(21.994398), humi(67.848724)
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC config saved successfully
HVAC config saved successfully
HVAC config saved successfully
Save key: 0 Value: �k␚�␌F)5���XP>�w
Save key: 1 Value: �(��␄sf�
~dط␔�K
Save key: 2 Value: Gargulec_Guest
Save key: 3 Value: lekcyjna66
Save key: 4 Value: admin
Save key: 5 Value: pass
Save key: 6 Value: GUI Generic
Save key: 7 Value: beta-cloud.supla.org
Save key: 8 Value: [email protected]
Save key: 9 Value: 1
Save key: 10 Value: 1
Save key: 19 Value: ,,1,,,,,,,,,,,,,
Save key: 24 Value: ,,,,,,,1,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Save key: 26 Value: ,,0,,,,,,,,,,,,,,,1,,,,,,,,,,,,,,,,,
Save key: 28 Value: 1,10,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Save key: 29 Value: 1,9,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Save key: 43 Value: 5
Save key: 44 Value: 5
Save key: 58 Value: 1
Save key: 59 Value: 0
Save key: 60 Value: 20
Save key: 65 Value: 1,,,,,,,,,,,,,,,,,,,
Save key: 66 Value: 0,,,,,,,,,,,,,,,,,,,
Save key: 74 Value: 0.45
Save key: 75 Value: 0.45
Save key: 76 Value: 0,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
Save key: 80 Value: 0
Save key: 93 Value: 1,,,,,,,,,
Establishing NOT encrypted connection with: beta-cloud.supla.org (port: 2015)
Connected to Supla Server
Send: [53 55 50 4C 41 15 02 00 00 00 45 00 00 00 7A 02 00 00 6B 72 79 73 74 69 61 6E 2E 66 72 61 6E 69 65 63 7A 
65 6B 40 67 6D 61 69 6C 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9B 28 F4 DA 04 73 66 B4 0A 7E 64 D8 B7 14 B1 4B 93 6B 1A 90 0C 46 29 35 F4 D4 CA 58 50 3E E9 77 47 55 49 20 47 65 6E 65 72 69 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Recv: [53 55 50 4C 41 15 01 00 00 00 46 00 00 00 07 00 00 00 11 00 00 00 78 15 01 53 55 50 4C 41 ]
Current status: [31] Registration disabled!
Channel(1) value changed to temp(21.994398), humi(67.886871)
Wrote 8 bytes to storage at 15
Wrote 7 bytes to storage at 8
Commit
Establishing NOT encrypted connection with: beta-cloud.supla.org (port: 2015)
Connected to Supla Server
Send: [53 55 50 4C 41 15 03 00 00 00 45 00 00 00 7A 02 00 00 6B 72 79 73 74 69 61 6E 2E 66 72 61 6E 69 65 63 7A 
65 6B 40 67 6D 61 69 6C 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9B 28 F4 DA 04 73 66 B4 0A 7E 64 D8 B7 14 B1 4B 93 6B 1A 90 0C 46 29 35 F4 D4 CA 58 50 3E E9 77 47 55 49 20 47 65 6E 65 72 69 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Channel(1) value changed to temp(22.005125), humi(67.863983)
Recv: [53 55 50 4C 41 15 01 00 00 00 46 00 00 00 07 00 00 00 11 00 00 00 78 15 01 53 55 50 4C 41 ]
Current status: [31] Registration disabled!

 ets Jan  8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 3424, room 16 
tail 0
chksum 0x2e
load 0x3fff20b8, len 40, room 8
tail 0
chksum 0x2b
csum 0x2b
v000a7a40
~ld
rf cal sector: 252
freq trace enable 0
Button[0]::setMulticlickTime: 450
Supla - starting initialization
Storage initialization
readStorage: 8; Read: [53 55 50 4C 41 1 0 1 ]
Storage: Number of sections 1
Reading section: 0
readStorage: 7; Read: [3 1D 0 8C 6B 8C 6B ]
Section type: 3; size: 29
CRC1 27532, CRC2 27532, CRC calc 27532
Channel function missing. Using SW defaults
HVAC: thermometer channel 0 has invalid type 6100
HVAC: thermometer channel 0 has invalid type 6100
HVAC config missing. Using SW defaults
HVAC weekly schedule missing. Using SW defaults
HVAC alt weekly schedule missing. Using SW defaults
HVAC config changed offline flag 0
HVAC weekly schedule config changed offline flag 0
RemoteDeviceConfig: Registering field 0x00000010
Clock: automaticTimeSync: 1
Button[0] enabling IN as config button
Channel[1] temperature correction 0.000000
Channel[1] humidity correction 0.000000
Channel[1] config changed offline flag 0
Validating storage state section with current device configuration
Storage state section validation completed. Loading elements state...
readStorage: 8; Read: [0 2 34 8 0 0 1 1 ]
readStorage: 8; Read: [0 0 0 0 0 0 0 0 ]
readStorage: 8; Read: [1 0 0 0 0 0 0 0 ]
readStorage: 2; Read: [0 80 ]
readStorage: 2; Read: [0 80 ]
readStorage: 1; Read: [0 ]
HVAC weekly schedule saved successfully
HVAC alt weekly schedule saved successfully
HVAC: thermometer channel 0 has invalid type 6100
HVAC main thermometer channel number 0 is invalid. Clearing.
HVAC: thermometer channel 0 has invalid type 6100
HVAC: thermometer channel 0 has invalid type 6100
HVAC binary sensor function disabled
HVAC[0]:
  Main: 0
  Aux: 0
  Aux type: 2
  AntiFreezeAndOverheatProtectionEnabled: 0
  Sensor: 0
  Algorithms: 3
  UsedAlgorithm: 1
  MinOnTimeS: 0
  MinOffTimeS: 0
  OutputValueOnError: 0
  Subfunction: HEAT (1)
  Setpoint change in weekly schedule: switches to manual
  AuxMinMaxSetpointEnabled: 0
  Temperatures:
    10: 500
    11: 4000
    12: 500
    13: 7500
    14: 20
    15: 1000
    16: 200
    17: 1000
Pin 0, pullUp 1, invertLogic 1, state 1
Found model Si7021Channel(1) value changed to temp(22.005125), humi(67.863983)
GUID: 936B1A900C462935F4D4CA58503EE977
Device name: GUI Generic
Device software version: GG v7.5.13
Initializing network layer
Network AP/hostname: GUI-GENERIC-CC50E31C35BE
Using Supla protocol version 21
Current status: [5] SuplaDevice initialized
Enter normal mode
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
WiFi: establishing connection with SSID: "Gargulec_Guest"
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
Connected BSSID: C8:7F:54:20:EC:D9
local IP: 192.168.1.15
subnetMask: 255.255.255.0
gatewayIP: 192.168.1.1
Signal strength (RSSI): -70 dBm
Establishing NOT encrypted connection with: beta-cloud.supla.org (port: 2015)
Connected to Supla Server
LAST STATE ADDED: Register in progress
Current status: [10] Register in progress
CH #0, type: 6100, FuncList: 0x20000, default: 420, flags: 0x18010000, value: [00 02 34 08 00 00 81 01]
CH #1, type: 3038, FuncList: 0x0, default: 45, flags: 0x8010000, value: [f5 55 00 00 17 09 01 00]
Send: [53 55 50 4C 41 15 01 00 00 00 45 00 00 00 7A 02 00 00 6B 72 79 73 74 69 61 6E 2E 66 72 61 6E 69 65 63 7A 
65 6B 40 67 6D 61 69 6C 2E 63 6F 6D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9B 28 F4 DA 04 73 66 B4 0A 7E 64 D8 B7 14 B1 4B 93 6B 1A 90 0C 46 29 35 F4 D4 CA 58 50 3E E9 77 47 55 49 20 47 65 6E 65 72 69 63 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ]
Send: [53 55 50 4C 41 ]
Wrote 8 bytes to storage at 15
Wrote 7 bytes to storage at 8
Commit
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
Recv: [53 55 50 4C 41 15 01 00 00 00 46 00 00 00 07 00 00 00 11 00 00 00 78 15 01 53 55 50 4C 41 ]
LAST STATE ADDED: Registration disabled!
Current status: [31] Registration disabled!
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
HVAC[0]: invalid temperature readout - check if your thermometer is correctly connected and configured
https://gui-generic-builder.supla.io/
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

krycha88 wrote: Mon Oct 16, 2023 7:41 pm
klew wrote: Mon Oct 16, 2023 7:24 pm Jednak trochę inaczej - tam jest różne zachowanie zależnie od tego, czy metodę odpala się przed "SuplaDevice.begin()", czy po.
Założenie jest takie, że jeśli te metody są odpalanie przed "begin()", to są to domyślne wartości, które są ustawiane na urządzeniu i one nie wywołują zapisu do flasha.
Natomiast jak są one wywoływane po "begin()", to pojawia się zapis do flasha z 5 s opóźnieniem.
Ale to chyba nie to. Bo widać, że config się zapisuje, nawet przy wymuszeniu zapisania metodą saveConfig mam identyczny objaw. Co ciekawe po zarejestrowaniu urządzeniu w cloud wszystko działa poprawnie :)
Wrzuć może też logi jak to wygląda po połączeniu z serwerem.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

krycha88 wrote: Mon Oct 16, 2023 7:41 pm
Jeszcze ten temat przemyślałem i jeszcze raz go opiszę, bo myślę, że tu tkwi problem.

Ja wszędzie koncepcyjnie oddzielam takie etapy:
1. "Budowa" urządznia
2. Konfiguracja urządzenia i kanałów (Supla::Config)
3. Stan urządzenia i kanałów (Supla::Storage)

Etap budowy urządzenia, to to wszystko co dzieje się w kodzie urządzenia przed wykonaniem "SuplaDevice.begin()".
Zerknij na przykład ThermostatBasic.ino - tam to "widać".

Do tego pierwszego etapu należy też skonfigurowanie wartości domyślnych termostatu (np. domyślny termometr główny). Te parametry nie muszą być zapisywane do flasha (Config), bo urządzenie je zawsze podczas startu inicjalizuje.

Następnie jest uruchamiana "SuplaDevice.begin()" w ramach której jest odczytywana konfiguracja urządzenia oraz konfiguracja kanałów z flasha.
W kolejnym kroku odczytywany jest stan kanałów, a potem wszystko wstaje i zaczyna działać.

Od tego momentu urządzenie ma już dostępną pamięci Supla::Storage i Supla::Config. Zmiany konfiguracji na tym etapie to zmiany, które mogę pochodzić z serwera, albo od usera (przez jakiś lokalny interfejs) i one są normalnie zapisywane do Config.

W mojej koncepcji, GG jest głównie w tym pierwszym etapie budowania urządzenia. GG w pamięci przechowuje informacje o tym, jak urządzenie jest zbudowane (czy są przekaźniki, termometry, jakie to są przekaźniki itp). Domyślne nastawy termostatu też należą do tego etapu, więc GG taką informację jak domyślny termometr powinien przechowywać w swojej pamięci (i w konsekwencji jest możliwe przeniesienia konfiguracji na inne urządzenie).

Także trzeba rozróżnić ustawienia dotyczące budowy urządzenia od ustawień użytkownika, które można zmienić w Cloud.

Dajmy jeszcze jeden prosty przykład: BinarySensor.
W BinarySensor ustawiamy: GPIO, pullup i czy ma być odwracany stan - to jest "budowa urządzenia".
W nowej wersji SD i serwera, urządzenie może odczytać konfigurację BinarySensor z Clouda, gdzie można dodatkowo odwrócić logikę (jak np. przy czujnikach otwarcia bramy). To "odwrócenie logiki" jest parametrem konfiguracji użytkownika, dostępny w Cloud.
Mamy więc dwa parametry "odwrócona logika" - jeden dotyczący budowy urządzenia, i wpływający na to czy do serwera wysyłamy 0 czy 1; oraz drugą "odwróconą logikę", która zmienia znaczenie, czy 0 czy 1 oznacza "otwartą bramą", czy "zamkniętą".
Najlepsze suple dla Twojego domu :mrgreen:

Return to “Nowości”