Umstellung von myBroker auf MQTT2

Begonnen von Marlen, 05 Dezember 2021, 09:48:08

Vorheriges Thema - Nächstes Thema

Marlen

Hallo,
da ich derzeit ein riesen Caos habe was MQTT-Devices betrifft, möchte ich alle auf MQTT2 betreiben.

Bei den meisten war das ja kein Problem, doch bei diesen bin ich am verzweifeln.
Das seltsame, ich bkomme in beiden Devices die Werte Helligkeit, Schwelle..... rein und kann diese auch senden.
Aber bei FO1 FU1 FU2... funktioniert das nicht.
Was mach ich falsch?

Wenn ich dann alles umgestellt habe, brauch ich das installierte Perl-Modul "apt-get install mosquitto mosquitto-clients" nicht mehr, oder?

Das Device in myBroker:
defmod MQTT_Kueche MQTT_DEVICE
attr MQTT_Kueche userattr subscribeReading_Helligkeits-Schwelle subscribeReading_State subscribeReading_Licht subscribeReading_time_on subscribeReading_state subscribeReading_Modus subscribeReading_motion subscribeReading_Helligkeit
attr MQTT_Kueche IODev myBroker
attr MQTT_Kueche autoSubscribeReadings Kueche/+/#
attr MQTT_Kueche comment RGB 123.456.789\
time_on = Licht an nach Bewegungsende (Sek.) default 60\
FO1 = z.B. 005000005 Farbcode oben\
FU1 = z.B. 005000005000 Farbcode unten Ambiente\
FU2 = z.B. 000000000255 Farbcode bei Bewegung\
schwelle = kann gesendet werden, übersteigt Helligkeiten den Wert, reagiert der Bewegungsmelder nicht mehr
attr MQTT_Kueche event-on-change-reading .*
attr MQTT_Kueche group Kueche
attr MQTT_Kueche oldreadings Helligkeit
attr MQTT_Kueche publishSet schwelle time_on FO1 FU1 FU2 /Kueche/state
attr MQTT_Kueche room MQTT
attr MQTT_Kueche stateFormat Hell: Helligkeit - Hdiff: Helldiff - Bew: motion
attr MQTT_Kueche subscribeReading_Helligkeit /Kueche/helligkeit
attr MQTT_Kueche subscribeReading_Helligkeits-Schwelle /Kueche/schwelle
attr MQTT_Kueche subscribeReading_Modus /Kueche/modus
attr MQTT_Kueche subscribeReading_motion /Kueche/motion
attr MQTT_Kueche subscribeReading_state Kueche/state/FO1
attr MQTT_Kueche subscribeReading_time_on /Kueche/time_on
attr MQTT_Kueche timestamp-on-change-reading 1
attr MQTT_Kueche userReadings Dunkel { my $val = "off";; my $val1=ReadingsVal("MQTT_Kueche", "Helligkeit", "");; if ($val1 > 90) { $val="off";;} elsif ($val1 <= 30 ) { $val="30";;;;}elsif ($val1 <= 45 ) { $val="40";;;;}elsif ($val1 <= 60 ) { $val="50";;;;};;;; $val},\
Helldiff { my $val=ReadingsVal("MQTT_Kueche", "Helligkeit", "");;;; my $val1=OldReadingsVal("MQTT_Kueche", "Helligkeit", "");;;;  my $val2=$val- $val1;;;; $val2}
attr MQTT_Kueche verbose 5

setstate MQTT_Kueche Hell: 718 - Hdiff: 64 - Bew: 1
setstate MQTT_Kueche 2021-12-05 09:43:58 Dunkel off
setstate MQTT_Kueche 2021-12-05 01:00:00 F01soll 000000000
setstate MQTT_Kueche 2021-12-05 06:30:41 FU1soll 080040000000
setstate MQTT_Kueche 2021-12-05 04:00:00 FU2ist 000000000255
setstate MQTT_Kueche 2021-12-05 09:43:58 Helldiff 64
setstate MQTT_Kueche 2021-12-05 09:43:58 Helligkeit 718
setstate MQTT_Kueche 2021-12-04 21:21:24 Helligkeits-Schwelle 876
setstate MQTT_Kueche 2021-12-04 12:37:55 IODev myBroker
setstate MQTT_Kueche 2021-12-05 06:30:41 erster 1
setstate MQTT_Kueche 2021-12-05 09:42:15 motion 1
setstate MQTT_Kueche 2021-12-05 06:30:41 state FU1
setstate MQTT_Kueche 2021-12-05 04:00:01 time_on 120
setstate MQTT_Kueche 2021-12-05 09:43:58 transmission-state incoming publish received




Und mein neues Device in MQTT2_Device:

defmod MQTT2_espClient MQTT2_DEVICE espClient
attr MQTT2_espClient IODev m1server
attr MQTT2_espClient autocreate 1
attr MQTT2_espClient comment RGB 123.456.789\
time_on = Licht an nach Bewegungsende (Sek.) default 60\
FO1 = z.B. 005000005 Farbcode oben\
FU1 = z.B. 005000005000 Farbcode unten Ambiente\
FU2 = z.B. 000000000255 Farbcode bei Bewegung\
schwelle = kann gesendet werden, übersteigt Helligkeiten den Wert, reagiert der Bewegungsmelder nicht mehr
attr MQTT2_espClient devicetopic /Kueche/
attr MQTT2_espClient event-on-change-reading .*
attr MQTT2_espClient readingList espClient:/Kueche/schwelle:.* schwelle\
espClient:/Kueche/time_on:.* time_on\
espClient:/Kueche/helligkeit:.* Helligkeit\
espClient:/Kueche/motion:.* motion\

attr MQTT2_espClient room MQTT2_DEVICE
attr MQTT2_espClient setList schwelle /Kueche/schwelle\
time_on /Kueche/time_on\
FO1 /Kueche/FO1
attr MQTT2_espClient stateFormat Hell: Helligkeit - Hdiff: Helldiff - Bew: motion
attr MQTT2_espClient userReadings Dunkel { my $val = "off";; my $val1=ReadingsVal("MQTT_Kueche", "Helligkeit", "");; if ($val1 > 90) { $val="off";;} elsif ($val1 <= 30 ) { $val="30";;;;}elsif ($val1 <= 45 ) { $val="40";;;;}elsif ($val1 <= 60 ) { $val="50";;;;};;;; $val},\
Helldiff { my $val=ReadingsVal("MQTT_Kueche", "Helligkeit", "");;;; my $val1=OldReadingsVal("MQTT_Kueche", "Helligkeit", "");;;;  my $val2=$val- $val1;;;; $val2}

setstate MQTT2_espClient Hell: 772 - Hdiff: 64 - Bew: 0
setstate MQTT2_espClient 2021-12-05 09:44:27 Dunkel off
setstate MQTT2_espClient 2021-12-05 09:44:27 Helldiff 64
setstate MQTT2_espClient 2021-12-05 09:44:27 Helligkeit 772
setstate MQTT2_espClient 2021-12-04 12:37:55 IODev m1server
setstate MQTT2_espClient 2021-12-04 11:11:36 helligkeit 581
setstate MQTT2_espClient 2021-12-05 09:44:16 motion 0
setstate MQTT2_espClient 2021-12-04 14:54:48 schwelle 888
setstate MQTT2_espClient 2021-12-04 21:21:24 state schwelle
setstate MQTT2_espClient 2021-12-04 13:59:34 subscriptions /Kueche/state
setstate MQTT2_espClient 2021-12-05 04:00:00 time_on 120



Vielen Dank, schönen 2. Advent und liebe Grüße,
  Marlen

Marlen

Kann es sein, dass man im Arduino Sketch was anderes braucht? Hab das Gefühl am Arduino kommt nix an.
Hab das bisher mit PubSubClient.h gemacht.

Senden klappt ja auch.

LG Marlen