LED Matrix aus WS2112 mit Text befüllen

Begonnen von matze1999, 11 März 2023, 13:42:11

Vorheriges Thema - Nächstes Thema

matze1999

Hallo,
ich hab hier eine Ulanzi Smart Pixel Clock (TC001) mit Tasmota, es handelt sich um eine LED Matrix mit ws2812, mit 8x32 LED. Bisher habe ich noch nicht den richtigen Ansatz gefunden, z.Zt werden 2812 vor allem ja in LED Streifen verwendet.

Die grundsätzliche Frage ist, ob so etwas mit FHEM möglich ist, und welcher Ansatz erfolgversprechend ist.

matze1999

Aurel_B

Spannend, kannte ich bislang nicht. Hast du https://github.com/aptonline/PixelIt_Ulanzi#readme schon gefunden? Das sieht nach einem interessanten Ansatz aus.

matze1999

#2
so, Pixelit habe ich jetzt aufgespielt (Uhrzeit Datum wird angezeigt), leider kann ich nicht so richtig nachvollziehen, ob alles funktioniert, ich trage meinen  MQTT Server ein, aber in fhem wird nichts angelegt, wie sonst bei neuen devices (tasmota/zigbee2MQTT).

Pixelit verwirrt mich auch, ich kann die config ändern und speichern, rufe ich aber danach das webui auf, ist wieder alles leer, ich weiss nicht mal, ob das so richtig ist oder wirkllich ein Fehler.

evtl. nutzt das etwas: https://pixelit-project.github.io/api.html#screen

aber da habe ich gar keinen Ansatzpunkt, wie ich das mit fhem nutzen kann. Evtl. hilft das:

Add the following to your Home Assistant configuration.yaml file making sure you change your-pixelIt-ip to your actual PixelIt ip:

notify:
    name: pixelit
    platform: rest
    resource: http://your-pixelIt-ip/api/screen
    method: POST_JSON
    data:
      text:
        textString: "{{ message }}"
        scrollText: "auto"
        bigFont: true
        centerText: false
        scrollTextDelay: 40
        hexColor: "#FFFFFF"
        position:
          "x": 0
          "y": 0

then within your Home Assistant automation or script call it with the following:

service: notify.pixelit
data:
    message: "This is a test message from Home Assistant."



matze1999


matze1999

Hallo,

war mein Fehler, PixelIT ist jetzt drauf, MQTT funktioniert:

define MQTT2_PixelIt MQTT2_DEVICE PixelIt
attr MQTT2_PixelIt readingList PixelIt:House/PixelIt/state:.* state\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212Temperature/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212Humidity/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212Illuminance/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/binary_sensor/PixelIt145899349270212/PixelIt145899349270212Button0/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/binary_sensor/PixelIt145899349270212/PixelIt145899349270212Button1/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/binary_sensor/PixelIt145899349270212/PixelIt145899349270212Button2/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212wifiRSSI/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212WifiQuality/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212cpuFreqMHz/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212WifiSSID/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212WifiBSSID/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/sensor/PixelIt145899349270212/PixelIt145899349270212chipID/config:.* { json2nameValue($EVENT) }\
PixelIt:homeassistant/light/PixelIt145899349270212/PixelIt145899349270212LEDMatrixLight/config:.* { json2nameValue($EVENT) }\
PixelIt:House/PixelIt/luxsensor:.* { json2nameValue($EVENT) }\
PixelIt:House/PixelIt/sensor:.* { json2nameValue($EVENT) }\
PixelIt:House/PixelIt/matrixinfo:.* { json2nameValue($EVENT) }
attr MQTT2_PixelIt room MQTT2_DEVICE
#   CFGFN     
#   CID        PixelIt
#   DEF        PixelIt
#   FUUID      641b5d26-f33f-214e-6ec7-0b739c3a6f301173
#   IODev      myBroker
#   LASTInputDev myBroker
#   MSGCNT     432
#   NAME       MQTT2_PixelIt
#   NR         199942
#   STATE      connected
#   TYPE       MQTT2_DEVICE
#   eventCount 449
#   myBroker_CONN myBroker_192.168.1.191_61707
#   myBroker_MSGCNT 432
#   myBroker_TIME 2023-03-22 21:00:49
#   READINGS:
#     2023-03-22 20:55:18   IODev           myBroker
#     2023-03-22 20:55:41   avty_t          House/PixelIt/state
#     2023-03-22 20:55:41   bri_tpl         {{ value_json.currentMatrixBrightness }}
#     2023-03-22 21:00:47   chipID          145899349270212
#     2023-03-22 20:55:41   cmd_off_tpl     {'sleepMode': true}
#     2023-03-22 20:55:41   cmd_on_tpl      {'sleepMode': false {%- if brightness is defined -%}, 'brightness': {{ brightness }}{%- endif -%}}
#     2023-03-22 20:55:41   cmd_t           House/PixelIt/setScreen
#     2023-03-22 21:00:47   cpuFreqMHz      80
#     2023-03-22 21:00:47   currentMatrixBrightness 20
#     2023-03-22 20:55:41   dev_cla         signal_strength
#     2023-03-22 20:55:41   dev_cu          http://192.168.1.191
#     2023-03-22 20:55:41   dev_ids         PixelIt145899349270212
#     2023-03-22 20:55:41   dev_mdl         PixelIt
#     2023-03-22 20:55:41   dev_mf          PixelIt
#     2023-03-22 20:55:41   dev_name        PixelIt
#     2023-03-22 20:55:41   dev_sw          2.2.0-RC1-UlanziTC001
#     2023-03-22 20:55:41   enabled_by_default false
#     2023-03-22 20:55:41   ent_cat         diagnostic
#     2023-03-22 21:00:47   freeHeap        212572
#     2023-03-22 21:00:47   freeSketchSpace 1310720
#     2023-03-22 21:00:44   gas             Not installed
#     2023-03-22 21:00:47   hostname        PixelIt
#     2023-03-22 21:00:44   humidity        59
#     2023-03-22 20:55:41   ic              mdi:developer-board
#     2023-03-22 20:55:41   icon            mdi:led-strip
#     2023-03-22 21:00:47   ipAddress       192.168.1.191
#     2023-03-22 21:00:49   lux             0.496
#     2023-03-22 20:55:41   name            LED Matrix
#     2023-03-22 21:00:47   note           
#     2023-03-22 21:00:47   pixelitVersion  2.2.0-RC1-UlanziTC001
#     2023-03-22 20:55:41   pl_avail        connected
#     2023-03-22 20:55:41   pl_not_avail    disconnected
#     2023-03-22 20:55:41   pl_off          false
#     2023-03-22 20:55:41   pl_on           true
#     2023-03-22 21:00:44   pressure        Not installed
#     2023-03-22 20:55:41   schema          template
#     2023-03-22 21:00:47   sleepMode       false
#     2023-03-22 20:55:41   stat_t          House/PixelIt/matrixinfo
#     2023-03-22 20:55:41   stat_tpl        {{ 'on' if value_json.sleepMode is false else 'off' }}
#     2023-03-22 20:55:41   state           connected
#     2023-03-22 20:55:18   subscriptions   House/PixelIt/getConfig House/PixelIt/getLuxsensor House/PixelIt/getMatrixinfo House/PixelIt/setConfig House/PixelIt/setScreen
#     2023-03-22 21:00:44   temperature     25.69
#     2023-03-22 20:55:41   uniq_id         PixelIt145899349270212LEDMatrixLight
#     2023-03-22 20:55:41   unit_of_meas    MHz
#     2023-03-22 20:55:41   val_tpl         {{value_json.chipID}}
#     2023-03-22 21:00:47   wifiBSSID       DC:39:6F:38:C8:B1
#     2023-03-22 21:00:47   wifiQuality     64
#     2023-03-22 21:00:47   wifiRSSI        -68
#     2023-03-22 21:00:47   wifiSSID        alfmatz
#
setstate MQTT2_PixelIt connected
setstate MQTT2_PixelIt 2023-03-22 20:55:18 IODev myBroker
setstate MQTT2_PixelIt 2023-03-22 20:55:41 avty_t House/PixelIt/state
setstate MQTT2_PixelIt 2023-03-22 20:55:41 bri_tpl {{ value_json.currentMatrixBrightness }}
setstate MQTT2_PixelIt 2023-03-22 21:00:47 chipID 145899349270212
setstate MQTT2_PixelIt 2023-03-22 20:55:41 cmd_off_tpl {'sleepMode': true}
setstate MQTT2_PixelIt 2023-03-22 20:55:41 cmd_on_tpl {'sleepMode': false {%- if brightness is defined -%}, 'brightness': {{ brightness }}{%- endif -%}}
setstate MQTT2_PixelIt 2023-03-22 20:55:41 cmd_t House/PixelIt/setScreen
setstate MQTT2_PixelIt 2023-03-22 21:00:47 cpuFreqMHz 80
setstate MQTT2_PixelIt 2023-03-22 21:00:47 currentMatrixBrightness 20
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_cla signal_strength
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_cu http://192.168.1.191
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_ids PixelIt145899349270212
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_mdl PixelIt
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_mf PixelIt
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_name PixelIt
setstate MQTT2_PixelIt 2023-03-22 20:55:41 dev_sw 2.2.0-RC1-UlanziTC001
setstate MQTT2_PixelIt 2023-03-22 20:55:41 enabled_by_default false
setstate MQTT2_PixelIt 2023-03-22 20:55:41 ent_cat diagnostic
setstate MQTT2_PixelIt 2023-03-22 21:00:47 freeHeap 212572
setstate MQTT2_PixelIt 2023-03-22 21:00:47 freeSketchSpace 1310720
setstate MQTT2_PixelIt 2023-03-22 21:00:44 gas Not installed
setstate MQTT2_PixelIt 2023-03-22 21:00:47 hostname PixelIt
setstate MQTT2_PixelIt 2023-03-22 21:00:44 humidity 59
setstate MQTT2_PixelIt 2023-03-22 20:55:41 ic mdi:developer-board
setstate MQTT2_PixelIt 2023-03-22 20:55:41 icon mdi:led-strip
setstate MQTT2_PixelIt 2023-03-22 21:00:47 ipAddress 192.168.1.191
setstate MQTT2_PixelIt 2023-03-22 21:00:49 lux 0.496
setstate MQTT2_PixelIt 2023-03-22 20:55:41 name LED Matrix
setstate MQTT2_PixelIt 2023-03-22 21:00:47 note
setstate MQTT2_PixelIt 2023-03-22 21:00:47 pixelitVersion 2.2.0-RC1-UlanziTC001
setstate MQTT2_PixelIt 2023-03-22 20:55:41 pl_avail connected
setstate MQTT2_PixelIt 2023-03-22 20:55:41 pl_not_avail disconnected
setstate MQTT2_PixelIt 2023-03-22 20:55:41 pl_off false
setstate MQTT2_PixelIt 2023-03-22 20:55:41 pl_on true
setstate MQTT2_PixelIt 2023-03-22 21:00:44 pressure Not installed
setstate MQTT2_PixelIt 2023-03-22 20:55:41 schema template
setstate MQTT2_PixelIt 2023-03-22 21:00:47 sleepMode false
setstate MQTT2_PixelIt 2023-03-22 20:55:41 stat_t House/PixelIt/matrixinfo
setstate MQTT2_PixelIt 2023-03-22 20:55:41 stat_tpl {{ 'on' if value_json.sleepMode is false else 'off' }}
setstate MQTT2_PixelIt 2023-03-22 20:55:41 state connected
setstate MQTT2_PixelIt 2023-03-22 20:55:18 subscriptions House/PixelIt/getConfig House/PixelIt/getLuxsensor House/PixelIt/getMatrixinfo House/PixelIt/setConfig House/PixelIt/setScreen
setstate MQTT2_PixelIt 2023-03-22 21:00:44 temperature 25.69
setstate MQTT2_PixelIt 2023-03-22 20:55:41 uniq_id PixelIt145899349270212LEDMatrixLight
setstate MQTT2_PixelIt 2023-03-22 20:55:41 unit_of_meas MHz
setstate MQTT2_PixelIt 2023-03-22 20:55:41 val_tpl {{value_json.chipID}}
setstate MQTT2_PixelIt 2023-03-22 21:00:47 wifiBSSID DC:39:6F:38:C8:B1
setstate MQTT2_PixelIt 2023-03-22 21:00:47 wifiQuality 64
setstate MQTT2_PixelIt 2023-03-22 21:00:47 wifiRSSI -68
setstate MQTT2_PixelIt 2023-03-22 21:00:47 wifiSSID myWIFI


Jetzt bleibt noch die Frage, wie bekommt man Text aus Fhem auf das Teil und kann Farben, Helliogkeit usw. ändern, was wäre hier ein Ansatz?



matze1999

Smart_Homer

Würde mich auch interessieren. Gibts da schon eine Lösung, sonst brauch ich das Teil nicht bestellen.... Danke

rob

Hallo.

Ich hab so ein Teil zwar nicht und kann somit nicht wirklich mitreden. Würde Euch aber auch die Doku zur API empfehlen, auf die hier ja schon verwiesen wurde: https://pixelit-project.github.io/api.html und die Doku zum MQTT2-Device https://fhem.de/commandref.html#MQTT2_DEVICE.
 
Man muss also einen "Setter" definieren im FHEM-Device, sprich "attr ... setList ...", wo die Kommandos für Screen usw. rein müssen. Laut Doku muss dort das json entspr. rein. Als Test könnte schon dies einen Effekt haben:
attr MQTT2_PixelIt setList Starttest House/PixelIt/setScreen {"text": { "textString": "$EVTPART1", "bigFont": false, "scrollText": "auto", "scrollTextDelay": 20, "centerText": false, "position": { "x": 8, "y": 1 }, "color": {"r": 255, "g": 255, "b": 255 }, "hexColor": "#FFFFFF"} }Einfach mal Hallo eingeben und auf Set klicken ;) Danach ginge es darum, dies zu parametrisieren - also dynamisch zu gestalten. Weil das aber mehr ein MQTT-Thema ist, könnte Euch imho im MQTT-Forum viel gezielter/ besser geholfen werden.

Vielleicht nutzt das ja schon  :)

VG
rob

laserrichi

hier gibt es zu der Ulanzi TC001  infos von @haus-automatisierung.com

er hat dazu auch ein Video gemacht
https://haus-automatisierung.com/hardware/2023/05/17/ulanzi-tc001-pixel-clock.html

Awtrix Light scheint genau das zu sein was man braucht

Habe mir mal eine bestellt.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

laserrichi

habe das Teil jetzt bekommen und auch schon eingerichtet, und es läuft :-)

Evtl mache ich mal eine zusammenfassung wie man das mit awtrix light in fhem einbindet. Mit MQTT als auch mit shell script bekomme ich alles angezeigt wie ich as möchte.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

fhemfreak

Hallo Laserrichi,

könntest Du vielleicht Beispiele zum Ansteuern der Awtrix light / Ulanzi Clock bereitstellen?

Danke Dir!
2 x RPi für FHEM, 1 x RPi für HmIP

laserrichi

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light