Hunv / can2mqtt

A Linux or Windows service to forward CAN frames to MQTT messages. Optimized for Stiebel Eltron (at the Moment) but works for all.
MIT License
20 stars 11 forks source link

/set wird von meiner Heizung nicht übernommen #15

Closed edi77e closed 1 year ago

edi77e commented 1 year ago

@Hunv, danke für das tolle Projekt. Bin darauf gestossen als ich nach einer Verstellung der Warmwassertemperatur für meine StiebelEltron WPL-16-S-trend, bei PV Strom Überschuss gesucht habe. Ich kann nun Werte mitloggen die von der Anlage im CanBus gepusht werden.

Kann aber noch nicht mit /set den Wert verstellen. Wenn ich die "Warmwasser Soll Tag" auf 46°C ändern will, sende ich...

Received MQTT SET Message; Topic = heating/dwh/temperature/day/set and Payload = 46
Already connected to SocketCanD.
CAN Frame is: 6A0#3000FA001301CC
Sending CAN Frame: < send 6A0 7 30 0 FA 0 13 1 CC >
Sending CAN Verify Frame: < send 6A0 7 31 0 FA 0 13 1 CC >
Received CAN Frame: < frame 180 1674228810.251238 D220FA001301F5 >
Sending MQTT Message: 50.1 and Topic heating/dwh/temperature/day

der Wert ändert sich aber nicht sondern bleibt bei 50.1°C stehen.

Ich hatte vorher in der in der config.json per default "CanSenderId": "69F" stehen, hatte die auf 6A0 geändert das bracht aber nichts.

So sieht meine config.json aus.

pi@can2mqtt:/opt/can2mqtt $ more config.json 
{
  "CanServer": "192.168.77.105",
  "CanServerPort": 29536,
  "CanForwardWrite": true,
  "CanForwardRead": true,
  "CanForwardResponse": true,
  "CanReceiveBufferSize": 48,
  "CanSenderId": "6A0",

  "MqttServer": "192.168.77.10",
  "MqttClientId": "Can2Mqtt_dev",
  "MqttTopic": "heating",
  "MqttTranslator": "StiebelEltron",
  "MqttUser": "",
  "MqttPassword": "",
  "MqttAcceptSet": true,

  "NoUnits": true,
  "Language": "en"
}

Hat jemand eine Idee? Danke.

Hunv commented 1 year ago

Hi, versuch Mal 6A2 (oder ggf. auch 6A1, 6A3, 6A4,...) Als Sender ID. Solltest du die ID von der Konsole deiner LWZ erwischen kann es sein, das die sich aufhängt oder komisch verhält. Dann einfach einmal hinten dran am Display das Kabel ziehen und neu stecken.

edi77e commented 1 year ago

Hi, danke für die schnelle Rückmeldung. Habe nun als Sender ID 6A0... bis ...6A8 probiert, leider ohne Erfolg.

zB.

Received MQTT SET Message; Topic = heating/dwh/temperature/day/set and Payload = 42
Already connected to SocketCanD.
CAN Frame is: 6A7#3000FA001301A4
Sending CAN Frame: < send 6A7 7 30 0 FA 0 13 1 A4 >
Sending CAN Verify Frame: < send 6A7 7 31 0 FA 0 13 1 A4 >
Received CAN Frame: < frame 180 1674305845.959275 D227FA001301C2 >
Sending MQTT Message: 45 and Topic heating/dwh/temperature/day

wenn ich die Temperatur am Display verstelle sieht es folgendermassen aus...

Received CAN Frame: < frame 100 1674306568.557615 30001301C10000 >
Sending MQTT Message: 44.9 and Topic heating/dwh/temperature/day
Received CAN Frame: < frame 180 1674306581.944568 22001301C10000 >
Sending MQTT Message: 44.9 and Topic heating/dwh/temperature/day

kann man dadurch irgendwie die Sender ID berechnen?

Hunv commented 1 year ago

Hi @edi77e,

Nein, die SenderID kann man dadurch nicht berechnen. Ich habe gerade beim Nachvollziehen des Problems gemerkt, dass es jetzt geht. Ich glaube das Problem hing mit Issue #10 zusammen, da dort der Wert nicht korrekt umgerechnet wurde. Das Problem ist also im Code gefixed und wird damit auch im nächsten Release gefixed sein.