Add a real-time Plot tab to brewpi_gui, mirroring demo_sud figure 1

Embeds a dark-themed matplotlib canvas (3 stacked strip charts: theta
ist/soll, heatrate ist/soll, heater power_set/power_eff) in a new Plot
tab, sampled once per second from the latest websocket-received values.

HeaterTask now also emits a PowerSet message (the pre-discretization
target power) alongside the existing Power (effective) message, since
the GUI had no way to see the set-point side of figure 1's bottom plot
otherwise.
This commit is contained in:
2026-06-20 22:31:07 +02:00
parent bb94e065f4
commit 93b5667a64
5 changed files with 133 additions and 3 deletions
+13 -1
View File
@@ -708,8 +708,20 @@
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Seite</string>
<string>Plot</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_plot">
<item>
<widget class="QWidget" name="widget_plot" native="true">
<property name="minimumSize">
<size>
<width>0</width>
<height>400</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
<widget class="QWidget" name="gridLayoutWidget">