Closed PhagoZ closed 4 months ago
Thanks :) In my current setup I can do almost everything the heat pump display can do. Cooling, heating, setting temps, ventilation, sensor readings, adjusting config that requires password. There is no limit ... Some stuff might just not be implemented
is the esp32-poe yaml the main code for the esp and all the others are packages?
Yes, this ist the main config. The other yamls are there to structure it better and to be able to exclude stuff more easily. Just comment out the stuff you dont need. You can use any ESP you want. Even a 8266 should work nowadays. You Just need to figure Out which pins to use. Should not be a big deal.
Wow .. lightning fast answer ^^
thanks for that.. while compiling I getting the error "Component time.sntp requires component network." From THZ504.yaml Line 205. I looked into the wiki and didn´t find some obvious error.. any idea?
You need to add WiFi and delete the Ethernet part. https://esphome.io/components/wifi.html
You still try to compile the esp32.yaml? Just the 504 will not work
Okay yeah.. the wifi it was.
of cause I try to compile the esp32.yaml.
Right now I have errors from sml-reader.h
:(
In file included from src/main.cpp:301:
src/sml_reader.h: In member function 'void Readings::publishHA() const':
src/sml_reader.h:66:12: error: 'Instantaneous_Power' was not declared in this scope
id(Instantaneous_Power).publish_state(power);
^~~~~~~
src/sml_reader.h:67:12: error: 'Instantaneous_Power_L1' was not declared in this scope
id(Instantaneous_Power_L1).publish_state(power_l1);
^~~~~~
src/sml_reader.h:68:12: error: 'Instantaneous_Power_L2' was not declared in this scope
id(Instantaneous_Power_L2).publish_state(power_l2);
^~~~~~
src/sml_reader.h:69:12: error: 'Instantaneous_Power_L3' was not declared in this scope
id(Instantaneous_Power_L3).publish_state(power_l3);
^~~~~~
src/sml_reader.h:70:12: error: 'Instantaneous_Voltage_L1' was not declared in this scope
id(Instantaneous_Voltage_L1).publish_state(voltage_l1);
^~~~~~~~
src/sml_reader.h:71:12: error: 'Instantaneous_Voltage_L2' was not declared in this scope
id(Instantaneous_Voltage_L2).publish_state(voltage_l2);
^~~~~~~~
src/sml_reader.h:72:12: error: 'Instantaneous_Voltage_L3' was not declared in this scope
id(Instantaneous_Voltage_L3).publish_state(voltage_l3);
^~~~~~~~
src/sml_reader.h:73:12: error: 'Instantaneous_Current_L1' was not declared in this scope
id(Instantaneous_Current_L1).publish_state(current_l1);
^~~~~~~~
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/IPAddress.cpp.o
src/sml_reader.h:74:12: error: 'Instantaneous_Current_L2' was not declared in this scope
id(Instantaneous_Current_L2).publish_state(current_l2);
^~~~~~~~
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/IPv6Address.cpp.o
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/MD5Builder.cpp.o
src/sml_reader.h:75:12: error: 'Instantaneous_Current_L3' was not declared in this scope
id(Instantaneous_Current_L3).publish_state(current_l3);
^~~~~~~~
src/sml_reader.h:76:12: error: 'Frequency' was not declared in this scope
id(Frequency).publish_state(frequency);
^~~~~
src/sml_reader.h:76:12: note: suggested alternative: 'frequency'
id(Frequency).publish_state(frequency);
^~~~~
frequency
src/sml_reader.h:77:12: error: 'Total_incoming' was not declared in this scope
id(Total_incoming).publish_state(total_incoming);
^~~~~~
src/sml_reader.h:77:12: note: suggested alternative: 'total_incoming'
id(Total_incoming).publish_state(total_incoming);
^~~~~~
total_incoming
src/sml_reader.h:78:12: error: 'Total_Outgoing' was not declared in this scope
id(Total_Outgoing).publish_state(total_outgoing);
^~~~~~
src/sml_reader.h:78:12: note: suggested alternative: 'total_outgoing'
id(Total_Outgoing).publish_state(total_outgoing);
^~~~~~
total_outgoing
src/sml_reader.h: At global scope:
src/sml_reader.h:82:55: error: expected class-name before '{' token
class SMLReader : public Component, public UARTDevice {
^
src/sml_reader.h:229:28: error: expected ')' before '' token
SMLReader(UARTComponent parent) : UARTDevice(parent) {}
~ ^
)
src/sml_reader.h: In member function 'void SMLReader::waitForSequence(const T&, F)':
src/sml_reader.h:90:16: error: there are no arguments to 'available' that depend on a template parameter, so a declaration of 'available' must be available [-fpermissive]
while (available()) {
^~~~~
src/sml_reader.h:90:16: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
src/sml_reader.h:96:36: error: too few arguments to function 'int read(int, void, size_t)'
_buffer.push_back(read());
^
In file included from /data/cache/platformio/packages/framework-arduinoespressif32/tools/sdk/esp32s3/include/newlib/platform_include/sys/unistd.h:23,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/sys-include/unistd.h:4,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/sys-include/pthread.h:25,
from /data/cache/platformio/packages/framework-arduinoespressif32/tools/sdk/esp32s3/include/newlib/platform_include/pthread.h:21,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/xtensa-esp32s3-elf/bits/gthr-default.h:48,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/xtensa-esp32s3-elf/bits/gthr.h:151,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/ext/atomicity.h:35,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/bits/basic_string.h:39,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/string:52,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/stdexcept:39,
from /data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/include/c++/8.4.0/array:39,
from src/esphome/components/api/api_noise_context.h:3,
from src/esphome/components/api/api_frame_helper.h:13,
from src/esphome/components/api/api_connection.h:3,
from src/esphome.h:3,
from src/main.cpp:3:
/data/cache/platformio/packages/toolchain-xtensa-esp32s3/xtensa-esp32s3-elf/sys-include/sys/unistd.h:189:25: note: declared here
_READ_WRITE_RETURN_TYPE read (int __fd, void __buf, size_t __nbyte);
^~~~
In file included from src/main.cpp:301:
src/sml_reader.h: In member function 'virtual void SMLReader::loop()':
src/sml_reader.h:254:17: error: 'publishReadings' was not declared in this scope
publishReadings();
^~~~~~~
src/sml_reader.h:254:17: note: suggested alternative: 'Readings'
publishReadings();
^~~~~~~
Readings
src/sml_reader.h: In instantiation of 'void SMLReader::waitForSequence(const T&, F) [with T = std::array<unsigned char, 8>; F = SMLReader::loop()::<lambda()>]':
src/sml_reader.h:239:18: required from here
src/sml_reader.h:90:25: error: 'available' was not declared in this scope
while (available()) {
src/sml_reader.h:90:25: note: suggested alternative: 'dacDisable'
while (available()) {
~~~~~~~~~^~
dacDisable
src/sml_reader.h: In instantiation of 'void SMLReader::waitForSequence(const T&, F) [with T = std::array<unsigned char, 5>; F = SMLReader::loop()::<lambda()>]':
src/sml_reader.h:242:95: required from here
src/sml_reader.h:90:25: error: 'available' was not declared in this scope
src/sml_reader.h:90:25: note: suggested alternative: 'dacDisable'
while (available()) {
~~~~~~~~~^~
dacDisable
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/Print.cpp.o
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/Stream.cpp.o
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/StreamString.cpp.o
Compiling .pioenvs/esphome-web-9d8be0/FrameworkArduino/Tone.cpp.o
*** [.pioenvs/esphome-web-9d8be0/src/main.cpp.o] Error 1
That is actually sth. I need to fix. You excluded the smartmeter but the header is still referenced. Remove sml_reader.h from the include list in esp32.yaml and also the Volkszähler lib
Wuuhuuu ich can see so much stuff.. as soon as I will be at home, I will try to control some stuff.
one question more: is there any chance of seeing the live data of power consuption? Now I have these data, I could get these data via MQTT in EVCC project for pv power control
You mean power consumption of the Heat pump? 🤔
Or the power meter reading of your house? Cause that is done by the Volkszähler and an IR head. I use this to Feed excess power to an AC coupled battery.
yeah.. normaly there should be a measuring device, because it can calculate the kWh used....
el_aufnahmeleistung_heiz_summe_kwh is what you are looking for. Currently updated every hour, but you could query every 15 seconds If you want it to be more precise. There is also one for hot water power consumption. Still misses the cooling consumption and the Fan consumption. So it is sth. but it does not reflect reality 😅
For controlling the frequency is too low. I use 1Hz for the PV and that works
el_aufnahmeleistung_heiz_summe_kwh is such a thing.. leistung is power and kWh is energy.. so is it energy or "live" data power?
Its overall energy consumption in kWh. Good enough for hourly Update in Energy Dashboard
Okay so I changed in energy.yaml to very_fast and will see if I therfor recalculate the power calue in kW. I think I will do this in iobroker.. it´s way easier to programm ^^
When updating the value you have the old and the new one and the Intervall ;) so Delta/Interval and done 😎
Yeah I know.. that´s my plan.. thanks man.. Now I just have to design and print a nice case.
Do I remember right, that te cooling function is possible to activate, with the ISG? so the ESP is doin it´s job it should work as well right?
Yep, it sends the avg. room temp and humidity and can set the cooling params ... So no need to pay 800€ for an ISG 😎
So cool. You´re my man :)
My actual room temp is tellin me, that it is 10°C... don´t know why. But anyway how is it possible to put a helper value as the the Raum_ist?
I´m calculating my avg_Raumtemp in iobroker, because all my NSPanels are working in there as well as thermostats.
Edit: I found it :) let´s see if it cools down a bit.
for people with the same issue: THZ504.yaml entity_room_temperature: "xxxxxxxxxx"
10° RaumIstTemp is most likely your RaumSollTemp. If you don't send the temp frequently enough, it gets set to the heating, cooling target temp.
@PhagoZ : If you like the project, would you mind writing a bit of a small how-to? Which reflects the problems you were facing?
@kr0ner Yeah no problem, I will write it down and add some hardware photos as well for my setup, as soon as it´s all done.
did you use the elster list for ID reference? I still have hope to add the rel power consumption data ^^ maybe there is something possible
thanks :)
With regards to the power readings. If you can't find those values somewhere in the display, it is unlikely that they exist. You can check that and if you find sth. meaningful we can have a closer look ... try 7777 to get the most out of it
Hello there, really nice project and it lloks promising for my THZ 5.5 Eco.
I already tried 2 different other project (one iobroker and the bullit186 project) on both I just had a couple of values to read and nothing to control.
To be hornest, I´m a bit confused how to handle all the different yamls.
is the esp32-poe yaml the main code for the esp and all the others are packages?
is it a problem to use a esp32-s3 instead of poe, what has to be changed?
I would really appreciate some help.
thanks
Marius