Ik heb vandaag mijn Node Red flow omgegooid, en ook de MQTT structuur omgegooid. Voorheen gebruikte ik Node Red als state machine, en was het topic op de B+ altijd hetzelfde, ongeacht de menu pagina, bijvoorbeeld buttonplus/wk1/button/7/state.
Nadelen:
Ik denk dat dit conceptueel slimmer is, omdat het de backend veel eenvoudiger maakt.
====update=====
Dit werkt echt zo veel beter. Erg eenvoudig om context informatie aan te passen. Ik heb een "Now Playing" op het scherm als muziek aan staat. Maar overdag staat daar het weerbericht. Op deze manier blijft het weerbericht topic gevuld worden met actuele data, dus dat is eenvoudig wanneer de muziek stopt.
Ik ga snel mijn GitHub repo bijwerken
Nadelen:
- Als er dan een event van de B+ komt moet je eerst in NR of HA uitzoeken in welke menu de B+ zit. Niet handig
- Informatie die de B+ moet laten zien in slechts 1 menu modus, moet dan gestopt worden. Ik had (ingewikkeld) een gate gemaakt, die topics stop indien in andere modus. Omslachtig.
- Je hoeft niet met JSONs te gaan werken
buttonplus/<deviceID>/display/<page>/<displayitemID>/value → waarde
buttonplus/<deviceID>/display/<page>/<displayitemID>/label → label boven de waarde
buttonplus/<deviceID>/display/<page>/<displayitemID>/uom → eenheid achter de waarde
Hierbij is <page> 'main' voor alles wat in elk menu te zien is, zoals tijd, of een knop die door het menu bladert. <page> is bijvoorbeeld 'avond' of 'muziek' of wat je ook wil in specifieke menus.buttonplus/<deviceID>/button/<page>/<buttonID>/state → pressed bij indrukken, released bij release, double/long/triple/etc
buttonplus/<deviceID>/button/<page>/<buttonID>/led_front → true = aan, false = uit
buttonplus/<deviceID>/button/<page>/<buttonID>/led_wall → true = aan, false = uit
buttonplus/<deviceID>/button/<page>/<buttonID>/ledcolorfront → decimal color (for instance 15140872)
buttonplus/<deviceID>/button/<page>/<buttonID>/label
buttonplus/<deviceID>/button/<page>/<buttonID>/toplabel
etc
Ik denk dat dit conceptueel slimmer is, omdat het de backend veel eenvoudiger maakt.
====update=====
Dit werkt echt zo veel beter. Erg eenvoudig om context informatie aan te passen. Ik heb een "Now Playing" op het scherm als muziek aan staat. Maar overdag staat daar het weerbericht. Op deze manier blijft het weerbericht topic gevuld worden met actuele data, dus dat is eenvoudig wanneer de muziek stopt.
Ik ga snel mijn GitHub repo bijwerken
[ Voor 9% gewijzigd door balk op 14-01-2024 17:30 . Reden: update menu --> page ]