MQTT2 für Xiaomi Vacuum Sauger

Begonnen von Otto123, 12 Mai 2021, 12:53:37

Vorheriges Thema - Nächstes Thema

schwatter

Ja,
das hatte ich dann auch gesehen  :)
Steht direkt oben im Template...brauch ne Brille  8)
Ich hab das Template nochmal drüber gewischt,
da ich viel angepasst hatte, und der Fehler mit Json
nicht sofort ersichtlich war.


Gruß schwatter

schwatter

Nabend,

@Otto123
Seit 9 Tagen läuft der Änderungsvorschlag von @KyleK bezüglich Umlauten stabil.
Ich denke du kannst ihn einchecken.

Darüber hinaus habe ich mal "I can't believe it's not Valetudo" eingerichtet. Erstes Problem,
das Map_Rotating ist im orig Fork kaputt.
Zweites Problem sind ständig wechselnde ClientId's. Bedeutet, bei jedem (Neu)Start ein neues MQTT-Device.

Das erste Problem konnte ich durch ein Fork von algirdasc beheben. Das zweite Problem habe ich gefixt.
In der Readme unter Configuration, bin ich mehr auf Fhem eingegangen. Insgesamt habe ich jetzt 2 Robis
und habe dazu 2 Ordner angelegt. Beide "ICBINV" laufen per "pm2" mit jeweils knapp 100mb auf meinem
Fhemserver im Background. Keine Ahnung, ob das eine hohe Speicherauslastung dafür ist. Muss ich beobachten.

https://github.com/schwatter/ICantBelieveItsNotValetudo


So schaut das angelegte, ich nen es mal MapBridgeDevice von "ICBINV" aus. Welches vorher immer wieder
mit neuer ClientId angelegt wurde.

defmod MQTT2_dreamed9_mapper MQTT2_DEVICE dreamed9_mapper
attr MQTT2_dreamed9_mapper readingList dreamed9_mapper:homeassistant/camera/DreameD9/Valetudo_DreameD9_map/config:.* { json2nameValue($EVENT) }
attr MQTT2_dreamed9_mapper room MQTT2_DEVICE

setstate MQTT2_dreamed9_mapper 2023-12-29 10:41:43 IODev myFhembroker
setstate MQTT2_dreamed9_mapper 2023-12-29 17:02:14 device_identifiers_1 DreameD9
setstate MQTT2_dreamed9_mapper 2023-12-29 17:02:14 device_name DreameD9
setstate MQTT2_dreamed9_mapper 2023-12-29 17:02:14 name DreameD9 Rendered Map
setstate MQTT2_dreamed9_mapper 2023-12-29 14:10:22 subscriptions Valetudo/DreameD9/MapData/map-data
setstate MQTT2_dreamed9_mapper 2023-12-29 17:02:14 topic Valetudo/DreameD9/MapData/map
setstate MQTT2_dreamed9_mapper 2023-12-29 17:02:14 unique_id DreameD9_rendered_map

Für die Livemap habe ich extra ein MQTT2_DEVICE angelegt, damit ich mein "stateFormat" im Robi-Device
nicht so sehr mit Perl quälen musste.
Das Mapreading in der "readingsList" hat auch extra noch Autoresize.

defmod DreameD9_Map MQTT2_DEVICE
attr DreameD9_Map devicetopic Valetudo/DreameD9
attr DreameD9_Map icon location_sign
attr DreameD9_Map readingList $DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),;; {"map"=>"<html><div style='margin-left: auto;; margin-right: auto;;width: 90%;; height: 90%;;'><img src='".$EVENT."' style='width: 90%;;height: 90%'></div></html>"} }
attr DreameD9_Map room 04.Esszimmer_EG
attr DreameD9_Map stateFormat map
attr DreameD9_Map subType Saugroboter


Gruß schwatter

Otto123

Zitat von: schwatter am 29 Dezember 2023, 23:10:34Seit 9 Tagen läuft der Änderungsvorschlag von @KyleK bezüglich Umlauten stabil.
Ich denke du kannst ihn einchecken.
Gesundes neues Jahr euch allen!

Danke fürs testen, Ich habe das jetzt so eingecheckt.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Motivierte linke Hände

Tach!

Erstmal vielen Dank an alle, die hier beigetragen haben! Das Thema ist alt, aber ich hoffe, das heißt, es ist ausgereift und nicht aufgegeben. :-)

Ich musste einen neuen Robi beschaffen und habe ihn nun erfolgreich gerootet und Valetudo drauf gepflanzt. MQTT-Verbindung über Mosquitto funktioniert. Valetudo-Template angewendet. Sieht nun so aus:

Internals:
   CFGFN     
   CID        LumberingFortunateBarracuda
   DEF        LumberingFortunateBarracuda
   FUUID      674af662-f33f-e1ef-76a1-ca15feb09d640471
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     64
   NAME       Saugfrosch
   NR         2463
   STATE      cleanerState
<a href="http://192.168.5.51" target="_blank">cleanerState</a>
   TYPE       MQTT2_DEVICE
   eventCount 96
   myBroker_MSGCNT 64
   myBroker_TIME 2024-11-30 12:45:56
   OLDREADINGS:
   READINGS:
     2024-11-30 12:26:26   IODev           myBroker
     2024-11-30 12:26:56   area            0
     2024-11-30 12:26:56   associatedWith  MQTT2_myBroker
     2024-11-30 12:42:59   attrTemplateVersion 20221101
     2024-11-30 12:26:56   brush-main      1058400
     2024-11-30 12:26:56   count           0
     2024-11-30 12:26:56   enabled         ON
     2024-11-30 12:26:56   filter-main     518400
     2024-11-30 12:26:56   flag            none
     2024-11-30 12:26:56   frequency       2.4ghz
     2024-11-30 12:42:59   get             set get segments
     2024-11-30 12:42:59   ip4             192.168.5.51
     2024-11-30 12:26:56   ips             192.168.5.51,fe80::72c9:32ff:fe5b:f669
     2024-11-30 12:26:56   level           100
     2024-11-30 12:26:56   mop             false
     2024-11-30 12:26:26   preset          vacuum
     2024-11-30 12:26:56   sensor-all      86400
     2024-11-30 12:45:56   signal          -53
     2024-11-30 12:26:56   ssid            WLAN
     2024-11-30 12:26:56   status          none
     2024-11-30 12:26:56   time            0
     2024-11-30 12:42:59   valetudo_release 2024.11.0
     2024-11-30 12:26:56   value           16
Attributes:
   devStateIcon docked:rc_PLAY:start (moving|cleaning):rc_PLAY@blue:pause (idle|paused):rc_PAUSE@red:start returning:refresh:pause
   devicetopic valetudo/LumberingFortunateBarracuda
   event-on-change-reading .*
   icon       vacuum_top
   model      valetudoV2
   readingList $DEVICETOPIC/\x24state:.* _state
  $DEVICETOPIC/.*/[a-zA-Z\-_]+:.* { $TOPIC =~ m,$DEVICETOPIC\/(.*)\/([a-zA-Z\-_]+),; valetudo_r($NAME,$1,$2,$EVENT) }
   room       MQTT2_DEVICE
   setList    pause:noArg $DEVICETOPIC/BasicControlCapability/operation/set PAUSE
  start:noArg $DEVICETOPIC/BasicControlCapability/operation/set START
  stop:noArg $DEVICETOPIC/BasicControlCapability/operation/set STOP
  charge:noArg $DEVICETOPIC/BasicControlCapability/operation/set HOME
  clean_zone:{valetudo_w($name,'zones')} { valetudo_c($NAME,$EVENT) }
  fanSpeed:min,low,medium,high,max $DEVICETOPIC/FanSpeedControlCapability/preset/set $EVTPART1
  locate:PERFORM   $DEVICETOPIC/LocateCapability/locate/set $EVTPART1
  x_raw_payload:textField { valetudo_c($NAME,$EVENT) }
  delete:zones,locations {fhem("deletereading $NAME .$EVTPART1");;return undef}
  zoneNew:textField { valetudo_z($NAME,$EVENT) }
  zoneRename:textField { valetudo_z($NAME,$EVENT) }
  get:segments,release,ip { valetudo_g($NAME,$EVENT) }
  clean_segment:{'multiple-strict,'.valetudo_w($name,'segments')} { valetudo_c($NAME,$EVENT) }
  goto:{valetudo_w($name,'locations')} { valetudo_c($NAME,$EVENT) }
  locationNew:textField { valetudo_z($NAME,$EVENT) }
  locationRename:textField { valetudo_z($NAME,$EVENT) }
  waterUsage:low,medium,high $DEVICETOPIC/WaterUsageControlCapability/preset/set $EVTPART1
   setStateList operation clean_segment clean_zone goto fanSpeed waterUsage locate x_raw_payload
   stateFormat cleanerState
<a href="http://ip4" target="_blank">cleanerState</a>
   timestamp-on-change-reading .*

Ein paar Fragen habe ich:
  • Die attrTemplateVersion ist mit 20221101 angegeben. Lt. den letzten paar Seiten dieses Threads gab es nach diesem Datum aber noch Änderungen, die im SVN eingecheckt wurden. Stimmt die Versionsangabe trotzdem? Oder werden die AttrTremplates nicht beim normalen FHEM Update mit aktualisiert?
  • Das Reading "get" sieht komisch aus. Hat da irgendwas nicht so funktioniert, wie es sollte? Dazu passt vielleicht, dass ich, wenn ich für set "clean_segment" auswähle, nur "no_Segment_or_not_supported" angezeigt bekommt. In WebIf von Valetudo gibt es unter Map -> Segment Management Segmente, die ich bearbeiten könnte.
  • Was ist die aktuell brauchbarste Art, eine Karte in FHEM zu bekommen? Es gibt "I can't believe it's not Valetudo", das bei Github "archived" ist, einschließlich eines Nachfolgeprojekts (valetudopng). Außerdem gibt es Forks und vom FHEM-User Schwatter einen Fork eines Forks. Ich hätte am liebsten eine Lösung, die ich ohne Docker installieren kann. Dazu habe ich aber nicht wirklich was mit Anleitung gefunden - wobei valetudopng allerdings aus nur einem binary besteht - das wäre attraktiv...

Ich habe viel gelesen und hoffe inständig, das sind keine blöden Fragen!  O:-)
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Motivierte linke Hände

#379
Ok, das mit den Segmenten hat sich durch Zeitablauf von selbst erledigt. Irgendwann konnte ich dann doch
set get segments
ausführen.

Edit: Um den OperationMode nicht nur per API setzen zu können, habe ich setList um Folgendes ergänzt:

operationMode:mop,vacuum,vacuum_and_mop,vacuum_then_mop $DEVICETOPIC/OperationModeControlCapability/preset/set $EVTPART1
Für das Template könnte man das sicher schöner machen, indem man die möglichen Werte erst abfragt. Aber für mich reicht das so.  ;D
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Otto123

Zitat von: Motivierte linke Hände am 30 November 2024, 13:03:34Was ist die aktuell brauchbarste Art, eine Karte in FHEM zu bekommen?
Ich habe das mit der Karte nie hinbekommen, war mir zu komplex.
Ich schau mir das mit der Versionsnummer und Deiner Ergänzung mal noch an.

Schönen ersten Advent
Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

drhirn

Zitat von: Motivierte linke Hände am 30 November 2024, 13:03:34Was ist die aktuell brauchbarste Art, eine Karte in FHEM zu bekommen? Es gibt "I can't believe it's not Valetudo", das bei Github "archived" ist, einschließlich eines Nachfolgeprojekts (valetudopng). Außerdem gibt es Forks und vom FHEM-User Schwatter einen Fork eines Forks. Ich hätte am liebsten eine Lösung, die ich ohne Docker installieren kann. Dazu habe ich aber nicht wirklich was mit Anleitung gefunden - wobei valetudopng allerdings aus nur einem binary besteht - das wäre attraktiv...

"I can't believe it's not Valetudo" ist bei mir im Einsatz. Funktioniert nach wie vor einwandfrei.
Hab gerade das von dir angesprochene valetudopng ausprobiert. Das funktioniert auch gut. Müsste man sich dann nur ein Service bauen, dass das Binary automatisch startet.

Bei beiden müsstest du dir die Daten base64 kodiert an den MQTT Broker senden lassen, dann kannst du sie z.B. so in FHEM einbinden:
$DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),; {"map"=>"<html><div style='width: 300px; height: 600px;'><img src='".$EVENT."'></div></html>"} }
Bei mir sieht das dann so aus wie im Anhang.

Motivierte linke Hände

Zitat von: drhirn am 01 Dezember 2024, 09:31:38Hab gerade das von dir angesprochene valetudopng ausprobiert. Das funktioniert auch gut. Müsste man sich dann nur ein Service bauen, dass das Binary automatisch startet.

Das Service-File für valetudopng ist ja schnell gebastelt.  :)
[Unit]
Description=Valetudo Map Generation

[Service]
Type=idle
WorkingDirectory=/opt/valetudopng
ExecStart=/opt/valetudopng/valetudopng

[Install]
WantedBy=multi-user.target

Und wenn ich valetudopng sage, er soll das Bild per Base64 codiert schicken, kommt das auch als Zeichenblock an. Aber wenn ich dann die readingList um ...

Zitat von: drhirn am 01 Dezember 2024, 09:31:38$DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),; {"map"=>"<html><div style='width: 300px; height: 600px;'><img src='".$EVENT."'></div></html>"} }

... ergänze, habe ich nur ein "Fehlericon", wie im Anhang ersichtlich.

Du darfst diesen Dateianhang nicht ansehen.

[...]
     2024-11-30 12:26:56   level           100
     2024-12-01 11:18:05   map             <html><div style='width: 300px;; height: 600px;;'><img src='iVBORw0KGgoAAAANSUhEUgAAA[...]5DMmDGKfKOMAAAAAElFTkSuQmCC'></div></html>
     2024-11-30 15:43:31   mop             true
     2024-12-01 09:38:58   operation       HOME
     2024-12-01 10:44:32   operationMode   vacuum_and_mop
[...]
Attributes:
   devStateIcon docked:rc_PLAY:start (moving|cleaning):rc_PLAY@blue:pause (idle|paused):rc_PAUSE@red:start returning:refresh:pause
   devicetopic valetudo/LumberingFortunateBarracuda
   event-on-change-reading .*
   icon       vacuum_top
   model      valetudoV2
   readingList $DEVICETOPIC/\x24state:.* _state
  $DEVICETOPIC/.*/[a-zA-Z\-_]+:.* { $TOPIC =~ m,$DEVICETOPIC\/(.*)\/([a-zA-Z\-_]+),; valetudo_r($NAME,$1,$2,$EVENT) }
  $DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),; {"map"=>"<html><div style='width: 300px; height: 600px;'><img src='".$EVENT."'></div></html>"} }
   room       Cfg_Roboter

FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

drhirn

Ach, das Tool liefert ja schon ein PNG. Einfach das einbinden.

$DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),; {"map"=>"<html><div style='width: 300px; height: 600px;'><img src='http://ip-des-tools/api/map/image'></div></html>"} }
Ich kann's leider nicht testen, sollte aber gehen. Oder?

Motivierte linke Hände

Zitat von: drhirn am 01 Dezember 2024, 12:56:44Ich kann's leider nicht testen, sollte aber gehen. Oder?

Nö.  :)

Im devStateIcon (da habe ich das testhalber mal eingetragen) geht es, aber im Reading map sieht die Anzeige aus wie oben.

Kompletter List (mit funktionierendem devStateIcon und nicht funktionierendem map Reading - BASE64-Block im Map-Reading stark gekürzt):

Internals:
   CID        LumberingFortunateBarracuda
   DEF        LumberingFortunateBarracuda
   FUUID      674af662-f33f-e1ef-76a1-ca15feb09d640471
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     36
   NAME       Saugfrosch
   NR         1069
   STATE      docked
<a href="http://192.168.5.51" target="_blank">docked</a>
   TYPE       MQTT2_DEVICE
   eventCount 6
   myBroker_MSGCNT 36
   myBroker_TIME 2024-12-01 14:25:33
   READINGS:
     2024-12-01 14:21:58   IODev           myBroker
     2024-12-01 10:44:32   _state          ready
     2024-12-01 09:39:10   area            0.00 m²
     2024-11-30 12:26:56   associatedWith  MQTT2_myBroker
     2024-11-30 12:42:59   attrTemplateVersion 20221101
     2024-12-01 09:43:28   batteryPercent  100
     2024-11-30 23:55:26   batteryState    none
     2024-11-30 18:47:17   brush-main      1047600
     2024-11-30 18:47:17   brush-side_right 687600
     2024-12-01 10:47:37   calibration     [{"vacuum":{"x":2530,"y":3165},"map":{"x":0,"y":0}},{"vacuum":{"x":3525,"y":3165},"map":{"x":796,"y":0}},{"vacuum":{"x":3525,"y":4580},"map":{"x":796,"y":1132}}]
     2024-12-01 09:38:58   charge          set
     2024-12-01 09:40:10   cleanerState    docked
     2024-11-30 12:26:56   count           0
     2024-11-30 12:26:56   enabled         ON
     2024-11-30 17:48:37   error_description No error
     2024-11-30 23:55:26   fanSpeed        medium
     2024-11-30 18:47:17   filter-main     507600
     2024-11-30 18:10:59   flag            none
     2024-12-01 07:46:39   frequency       2.4ghz
     2024-11-30 12:42:59   get             set get segments
     2024-12-01 07:46:39   ip4             192.168.5.51
     2024-12-01 05:52:39   ip6             fe80::70cb:32ff:fe5b:f669
     2024-11-30 12:26:56   ips             192.168.5.51,fe80::72c9:32ff:fe5b:f669
     2024-11-30 12:26:56   level           100
     2024-12-01 14:22:06   map             <html><div style='width: 300px;; height: 600px;;'><img src='iVBORw[...]QmCC'></div></html>
     2024-11-30 15:43:31   mop             true
     2024-12-01 09:38:58   operation       HOME
     2024-12-01 10:44:32   operationMode   vacuum_and_mop
     2024-12-01 08:56:08   pause           set
     2024-11-30 12:26:26   preset          vacuum
     2024-11-30 18:47:17   sensor-all      75600
     2024-12-01 09:38:58   set             HOME
     2024-12-01 14:25:33   signal          -59
     2024-12-01 07:46:39   ssid            WLAN
     2024-11-30 15:07:48   start           set
     2024-12-01 09:40:10   state           docked
     2024-11-30 17:48:37   stateError      {"severity":{"kind":"none","level":"none"},"subsystem":"none","message":""}
     2024-11-30 12:26:56   status          none
     2024-12-01 09:26:05   stop            set
     2024-12-01 09:39:10   time            0
     2024-11-30 12:42:59   valetudo_release 2024.11.0
     2024-11-30 12:26:56   value           16
     2024-11-30 23:55:26   waterUsage      medium
Attributes:
   devStateIcon { '<img src="http://fhem.example.com:3000/api/map/image" style="max-width:256;;max-height:256;;">' }
   devicetopic valetudo/LumberingFortunateBarracuda
   event-on-change-reading .*
   icon       vacuum_top
   model      valetudoV2
   readingList $DEVICETOPIC/\x24state:.* _state
  $DEVICETOPIC/.*/[a-zA-Z\-_]+:.* { $TOPIC =~ m,$DEVICETOPIC\/(.*)\/([a-zA-Z\-_]+),; valetudo_r($NAME,$1,$2,$EVENT) }
  $DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),; {"map"=>"<html><div style='width: 300px; height: 600px;'><img src='http://fhem.example.com:3000/api/map/image'></div></html>"} }
   room       Cfg_Roboter
   setList    pause:noArg $DEVICETOPIC/BasicControlCapability/operation/set PAUSE
  start:noArg $DEVICETOPIC/BasicControlCapability/operation/set START
  stop:noArg $DEVICETOPIC/BasicControlCapability/operation/set STOP
  charge:noArg $DEVICETOPIC/BasicControlCapability/operation/set HOME
  clean_zone:{valetudo_w($name,'zones')} { valetudo_c($NAME,$EVENT) }
  fanSpeed:min,low,medium,high,max $DEVICETOPIC/FanSpeedControlCapability/preset/set $EVTPART1
  locate:PERFORM   $DEVICETOPIC/LocateCapability/locate/set $EVTPART1
  x_raw_payload:textField { valetudo_c($NAME,$EVENT) }
  delete:zones,locations {fhem("deletereading $NAME .$EVTPART1");;return undef}
  zoneNew:textField { valetudo_z($NAME,$EVENT) }
  zoneRename:textField { valetudo_z($NAME,$EVENT) }
  get:segments,release,ip { valetudo_g($NAME,$EVENT) }
  clean_segment:{'multiple-strict,'.valetudo_w($name,'segments')} { valetudo_c($NAME,$EVENT) }
  goto:{valetudo_w($name,'locations')} { valetudo_c($NAME,$EVENT) }
  locationNew:textField { valetudo_z($NAME,$EVENT) }
  locationRename:textField { valetudo_z($NAME,$EVENT) }
  operationMode:mop,vacuum,vacuum_and_mop,vacuum_then_mop $DEVICETOPIC/OperationModeControlCapability/preset/set $EVTPART1
  waterUsage:low,medium,high $DEVICETOPIC/WaterUsageControlCapability/preset/set $EVTPART1
   setStateList operation clean_segment clean_zone goto fanSpeed waterUsage locate x_raw_payload
   stateFormat cleanerState
<a href="http://ip4" target="_blank">cleanerState</a>
   timestamp-on-change-reading .*

FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

drhirn

Ich war da etwas sehr undeutlich, sorry: Die base64-Lieferung in der config.yml vom Tool wieder auf "false" stellen.

Oder, was auch gehen könnte, in der config.yml jetzt nichts mehr ändern und dafür folgendes ins Reading zu schreiben:
$DEVICETOPIC/MapData/map:.* { $TOPIC =~ m,$DEVICETOPIC\/.*\/([a-zA-Z\-_]+),; {"map"=>"<html><div style='width: 300px; height: 600px;'><img src='data:image/png;base64, ".$EVENT."'></div></html>"} }
Ich würde aber eher die erste Version ausprobieren.

Motivierte linke Hände

#386
:'( Da hätte ich auch selbst drauf kommen können... Danke.

Die Skalierung des Bildes klappt nicht, das ragt weit über alle Readings hinaus. Aber an der Stelle gebe ich die Spielereien dann jetzt vielleicht auch mal auf. Gibt ja genug andere Stellen, an denen ich mir die Karte angucken kann, wenn ich möchte.

 
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

drhirn

Versuch mal: <img style='width: 300px; height: 600px;' src='http://ip-des-tools/api/map/image'>.