Bug-Report: MQTT2_CLIENT: Retain wird nicht beachtet.

Begonnen von hexenmeister, 06 Januar 2019, 22:06:59

Vorheriges Thema - Nächstes Thema

hexenmeister

Es wurde im Forum ein Problem mit MQTT_GENERIC_BRIDGE und retain-Flag gemeldet. Beim Testen fand ich heraus, dass dies nur in Verbindung mit MQTT2_CLIENT der Fall ist.

Das Modul dokumentiert zwar die Verwendung im Commandref und leitet den Flag ansonsten bis hin zur Methode 'MQTT2_CLIENT_doPublish' korekt weiter, allerdings macht die Methode mit dem Parameter gar nichts mehr.
sub
MQTT2_CLIENT_doPublish($@)
{
  my ($hash, $topic, $val, $retain, $immediate) = @_;
  my $name = $hash->{NAME};
  return if(IsDisabled($name));
  $val = "" if(!defined($val));
  my $msg = pack("C",0x30).
            MQTT2_CLIENT_calcRemainingLength(2+length($topic)+length($val)).
            pack("n", length($topic)).
            $topic.$val;
  MQTT2_CLIENT_send($hash, $msg, $immediate)
}

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy

rudolfkoenig

Habs gefixt.
Kannst du bitte ein Link auf die uspruengliche Problem-Meldung hier anhaengen?

hexenmeister

Maintainer: MQTT_GENERIC_BRIDGE, SYSMON, SMARTMON, systemd_watchdog, MQTT, MQTT_DEVICE, MQTT_BRIDGE
Contrib: dev_proxy