Button+ Backend Development

Pagina: 1 2 Laatste
Acties:

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
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:
  • 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.
Voordelen:
  • Je hoeft niet met JSONs te gaan werken
Dat laatste lukt eigenlijk heel goed, dus ik ben om naar het volgende schema:
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
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
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.

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 ]


Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
DiXY schreef op donderdag 11 januari 2024 @ 18:23:
Zelf liep ik tegen het feit aan dat ik in een integratie geen eigen daemon kan draaien die elke 100mS iets gaat pollen voor mij. HA is event driven en een domme pollende daemon past daar niet tussen.
Dit is niet helemaal juist, je kan in de home assistant integratie via een Data Coördinator gewoon naar een externe api pollen. Voor 1 endpoint met alle data, of meerdere endpoints per entiteit.

Wat wil je precies voor data gaan pollen dan? De MQTT van de Button plus is net zo event driven toch?
DiXY schreef op donderdag 11 januari 2024 @ 18:23:

Ik kwam in mijn zoektocht dit tegen:
https://www.home-assistan...ions/mqtt/#mqtt-discovery
Als je dit schema volgt kun je MQTT topics maken en dan maakt de MQTT integratie van HA automatisch entities aan.
De MQTT discovery iets voor Button+ zelf om in de firmware te zetten zodat die out of the box meteen werkt op Home Assistant als ze op dezelfde MQTT broker zitten.

Ik heb dit zelf ook geprobeerd met de integratie en werkend gekregen, maar dan komen de entiteiten dus onder de MQTT integratie te hangen en kan je er niet device informatie aan hangen of het update process van zon entiteit beïnvloeden. En de topics voor entiteiten (zoals een 'click' of een 'label') zullen alsnog geregistreerd moeten worden in de button+ config (zoals @TWKterry ook aangeeft als punt 1).

Acties:
  • 0 Henk 'm!

  • DiXY
  • Registratie: Februari 2022
  • Laatst online: 13-09 16:47
Koen Hendriks schreef op zaterdag 13 januari 2024 @ 22:58:
[...]


Dit is niet helemaal juist, je kan in de home assistant integratie via een Data Coördinator gewoon naar een externe api pollen. Voor 1 endpoint met alle data, of meerdere endpoints per entiteit.

Wat wil je precies voor data gaan pollen dan? De MQTT van de Button plus is net zo event driven toch?
MQTT is volledig event driven daarom is het ook zo bruikbaar in HA. Als je op de zelfde pagina doorleest zie je dat de kortste interval 5 seconden is (deze alinea) ik wil 100mS... Het verhaal dat ze hier ophangen lijkt wel voornamelijk over HTTP API's te gaan maar ik krijg dit nog niet helemaal helder. Die 100mS is niet keihard 250ms doet het waarschijnlijk ook nog wel maar goed, daar kunnen we over het over hebben, maar heeft niks met de B+ meer te maken en dan raakt het erg offtopic ;)
Ik vind het wel lastig om los van de documentatie hier goede support in te vinden. Op het forum van HA zitten geen ontwikkelaars. Op Discord wordt alles ondergesneeuwd of niet op gereageerd. en er zijn zo ontzettend veel repo's va dat ik door de bomen het bos niet altijd zie... Maar goed trail on error, veel geduld en googlen red ik me tot zo ver wel.

[ Voor 22% gewijzigd door DiXY op 14-01-2024 13:09 ]

Mijn zelfbouw thuis accu


Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
DiXY schreef op donderdag 11 januari 2024 @ 18:23:

Ik kwam in mijn zoektocht dit tegen:
https://www.home-assistan...ions/mqtt/#mqtt-discovery
Als je dit schema volgt kun je MQTT topics maken en dan maakt de MQTT integratie van HA automatisch entities aan.
Koen Hendriks schreef op zaterdag 13 januari 2024 @ 22:58:

De MQTT discovery iets voor Button+ zelf om in de firmware te zetten zodat die out of the box meteen werkt op Home Assistant als ze op dezelfde MQTT broker zitten.

Ik heb dit zelf ook geprobeerd met de integratie en werkend gekregen, maar dan komen de entiteiten dus onder de MQTT integratie te hangen en kan je er niet device informatie aan hangen of het update process van zon entiteit beïnvloeden. En de topics voor entiteiten (zoals een 'click' of een 'label') zullen alsnog geregistreerd moeten worden in de button+ config (zoals @TWKterry ook aangeeft als punt 1).
Ik kreeg al een soort deja-vu tijdens het uittypen van dit antwoord en weet nu waarom :P
Deze issue was al aangemaakt en beantwoord op GitHub

Acties:
  • +4 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Bijgewerkte Node Red flow is nu te vinden op:
https://github.com/balk77/node-red-buttonplus-menu
Complete rewrite of flow; switching to a new page now uploads a complete JSON to the B+
Button topics (labels, clicks, everything) are now specific to a (menu)page. For instance buttonplus/wk1/button/music/7/state is publishing clicks from button number 7 (bottom right with 3 bars) but only for the page music. The backend does not need to be aware of the state of the B+ menu; you can simply use this topic and assign it to an action, such as Volume Up. The topic disappears when another page is active.

Acties:
  • +4 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
Vanavond even tijd gevonden om nog met de integratie bezig te gaan, bij deze staat release v0.0.6 online.
Wouter2403 schreef op vrijdag 5 januari 2024 @ 10:02:
Nog een klein dingetje, ik heb gisteren in de button+ config nog een knopje geconfigureerd met labels. Is het mogelijk de status op te halen vanuit de button+? In HA hebben ze nog de standaard waarde "Label" en "Btn3".
Dit bugje opgelost waar de text entities de waarde helemaal niet bij Home Assistant zelf terecht kwam.


En in plaats van hard coded scheidingen op buttons worden deze nu dynamisch uit de config van de Button+ gehaald. Deze laatste verbetering is de eerste externe PR van de integratie en nogmaals dank aan @casparz!

Acties:
  • 0 Henk 'm!

  • moxegy
  • Registratie: Juli 2015
  • Laatst online: 22:03
Koen Hendriks schreef op zondag 14 januari 2024 @ 21:11:
Vanavond even tijd gevonden om nog met de integratie bezig te gaan, bij deze staat release v0.0.6 online.


[...]


Dit bugje opgelost waar de text entities de waarde helemaal niet bij Home Assistant zelf terecht kwam.


En in plaats van hard coded scheidingen op buttons worden deze nu dynamisch uit de config van de Button+ gehaald. Deze laatste verbetering is de eerste externe PR van de integratie en nogmaals dank aan @casparz!
Vanavond eens updaten en dan kijken of ik net zoals Balk een menu structuur kan maken.
Heb een tijd geleden alles vanuit Node-red omgezet naar HA automations omdat ik dit makkelijker met mijn telefoon kan aanpassen.

Acties:
  • 0 Henk 'm!

  • dog4life
  • Registratie: Juli 2001
  • Niet online
Ik heb mijn B+ vandaag binnengekregen, al wat mee gespeeld en dat gaat op zich best lekker via node-red en mqtt!
Ik heb HA met name voor de GUI en app, automations doe ik via NR aangezien ik dat wat visueler vind.
Ik heb jouw flows geprobeerd te importeren, maar liep er tegenaan dat ik al een HA config had, en 2 onbekende nodes die ik niet in het palet had en ook niet kon vinden. Typ dit op mn telefoon, ik laat nog wel weten welke het zijn.
Maar wilde even zeggen goed werk, ik ga nog wat stoeien de komende dagen, zal zeker jouw flows ook weer bekijken!

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
dog4life schreef op dinsdag 16 januari 2024 @ 23:24:
[...]

Ik heb mijn B+ vandaag binnengekregen, al wat mee gespeeld en dat gaat op zich best lekker via node-red en mqtt!
Ik heb HA met name voor de GUI en app, automations doe ik via NR aangezien ik dat wat visueler vind.
Ik heb jouw flows geprobeerd te importeren, maar liep er tegenaan dat ik al een HA config had, en 2 onbekende nodes die ik niet in het palet had en ook niet kon vinden. Typ dit op mn telefoon, ik laat nog wel weten welke het zijn.
Maar wilde even zeggen goed werk, ik ga nog wat stoeien de komende dagen, zal zeker jouw flows ook weer bekijken!
Wat gebeurt er wanneer je een flow importeert met alvast een HA node, met een voor jou onbekende config? In de hoofd flow gebruik ik HA alleen maar om het menu te veranderen. Zou ook via mqtt kunnen.

De ontbrekende node is https://flows.nodered.org...red-contrib-state-machine , vergeten toe te voegen aan de readme. Doe ik nu even. Voor de rest, zo uit mijn hoofd, alleen standaard nodes. In de actie subflows, achter de ontvangst van mqtt topics van de knoppen, zitten ook nog wat Home Assistant nodes.

Ik ben bezig om dit geheel wat meer portable te maken. Er zit teveel hard coded troep in.

[ Voor 8% gewijzigd door balk op 17-01-2024 07:06 ]


Acties:
  • 0 Henk 'm!

  • dog4life
  • Registratie: Juli 2001
  • Niet online
balk schreef op woensdag 17 januari 2024 @ 07:01:
[...]
Wat gebeurt er wanneer je een flow importeert met alvast een HA node, met een voor jou onbekende config? In de hoofd flow gebruik ik HA alleen maar om het menu te veranderen. Zou ook via mqtt kunnen.
Bij mqtt ziet hij netjes dat er al 1 is, die skipt hij netjes (en voegt de te importeren nodes toe aan de mqtt config).
Bij HA zet hij er een 2e configuratienode bij (of ik deselecteer hem). In beide gevallen moet ik handmatig de nodes naar mijn HA configuratie omhangen. Overigens gebeurt dit ook als ik 1 van mijn eigen flows importeer..
balk schreef op woensdag 17 januari 2024 @ 07:01:
[...]
De ontbrekende node is https://flows.nodered.org...red-contrib-state-machine , vergeten toe te voegen aan de readme. Doe ik nu even. Voor de rest, zo uit mijn hoofd, alleen standaard nodes. In de actie subflows, achter de ontvangst van mqtt topics van de knoppen, zitten ook nog wat Home Assistant nodes.
Die node wordt al 6 jaar niet meer bijgewerkt en volgens de git repo maakt hij gebruik van deprecated functies, wist je dat? Deze werd tot recenter bijgehouden en lijkt wat goede verbeteringen te hebben: https://github.com/huffth...ed-contrib-persistent-fsm
balk schreef op woensdag 17 januari 2024 @ 07:01:
[...]
Ik ben bezig om dit geheel wat meer portable te maken. Er zit teveel hard coded troep in.
Altijd goed om hardcoded eruit te factoren ;)

edit: deze heb ik ook niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"id": "b6cae6645fc1100d",
        "type": "moment",
        "z": "1044a74b4adb9c61",
        "name": "format date",
        "topic": "",
        "input": "label",
        "inputType": "msg",
        "inTz": "Europe/Amsterdam",
        "adjAmount": 0,
        "adjType": "days",
        "adjDir": "add",
        "format": "D MMMM",
        "locale": "nl",
        "output": "label",
        "outputType": "msg",
        "outTz": "Europe/Amsterdam",

[ Voor 15% gewijzigd door dog4life op 17-01-2024 16:41 ]


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Het viel me ook op dat er wat zaken hardcoded zijn die afhankelijk zijn van de individuele gebruiker, beter vullen met een global.get of zo. Zou ook fijn zijn als alle HA-afhankelijkheid eruit is, of evt een kale versie en eentje die gebruik maakt van de HA ondersteuning.
Maar het is code in ontwikkeling, verwacht dat dat wel gaat lukken.

Totaal iets anders. Hoe krijg je ledjes aan? Ik heb (dacht ik) van alles geprobeerd, maar zonder effect. Ik zou me bijna dom gaan voelen, want ik mis iets denk ik...
Ik heb bij button wat eventtypes aangemaakt die met kleuren te maken hebben. Bij de vaste kleuren een topic aangemaakt, ik dacht dat daarop gesubscribed zou worden en als de betreffende payload komt, die kleur aan gaat.
Hetzelfde voor rgbled en led. Daarbij geen payload pgegeven, ik nam aan dat je in de payload de kleur als int mee moet geven en bij 'led' true of false, of 0 of 1 of whatever.
Met mqttexplorer stuur ik dan bijv. woonkamer/rgb de waarde 123123 (Kleur onbelangrijk) en de button is daarop geabbonneerd.
Maar kennelijk werkt het anders.
Afbeeldingslocatie: https://tweakers.net/i/Tji2w1K4J64US7qb3hLxDh5hhaY=/800x/filters:strip_exif()/f/image/aeLwqB13ZQfhWS2T6Fk0HbUS.png?f=fotoalbum_large

Noot: Ik heb nog niet de 'standaard' benamingen voor de topics, ben even droog aan het spelen.

In de output zie ik de volgende melding:

MQTT_EVENT_SUBSCRIBED, msg_id=25469, TOPIC=
15:06:02.351 -> TOPIC=button/rgb DATA=32767 msg_id=19898 MILLIS=19898

15:06:02.351 -> Could not deserialize, comparing values instead, Equal: 0
15:06:02.351 -> Button 6 RGB: 0 127 255
15:06:02.351 -> MQTT_EVENT_SUBSCRIBED, msg_id=32349, TOPIC=
15:06:02.351 -> TOPIC=button/led6 DATA=true msg_id=19907 MILLIS=19908

15:06:02.351 -> Could not deserialize, comparing values instead, Equal: 0

Dus hij haalt wel waardes uit de waarde. (In dit geval even binair 15 enen.

[ Voor 19% gewijzigd door rene037 op 17-01-2024 16:44 . Reden: Toevoeging ]


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
rene037 schreef op woensdag 17 januari 2024 @ 16:37:
Het viel me ook op dat er wat zaken hardcoded zijn die afhankelijk zijn van de individuele gebruiker, beter vullen met een global.get of zo. Zou ook fijn zijn als alle HA-afhankelijkheid eruit is, of evt een kale versie en eentje die gebruik maakt van de HA ondersteuning.
Maar het is code in ontwikkeling, verwacht dat dat wel gaat lukken.
Wordt aan gewerkt idd.
Totaal iets anders. Hoe krijg je ledjes aan? Ik heb (dacht ik) van alles geprobeerd, maar zonder effect. Ik zou me bijna dom gaan voelen, want ik mis iets denk ik...
Ik heb bij button wat eventtypes aangemaakt die met kleuren te maken hebben. Bij de vaste kleuren een topic aangemaakt, ik dacht dat daarop gesubscribed zou worden en als de betreffende payload komt, die kleur aan gaat.
Hetzelfde voor rgbled en led. Daarbij geen payload pgegeven, ik nam aan dat je in de payload de kleur als int mee moet geven en bij 'led' true of false, of 0 of 1 of whatever.
Met mqttexplorer stuur ik dan bijv. woonkamer/rgb de waarde 123123 (Kleur onbelangrijk) en de button is daarop geabbonneerd.
Maar kennelijk werkt het anders.
[Afbeelding]

Noot: Ik heb nog niet de 'standaard' benamingen voor de topics, ben even droog aan het spelen.

In de output zie ik de volgende melding:

MQTT_EVENT_SUBSCRIBED, msg_id=25469, TOPIC=
15:06:02.351 -> TOPIC=button/rgb DATA=32767 msg_id=19898 MILLIS=19898

15:06:02.351 -> Could not deserialize, comparing values instead, Equal: 0
15:06:02.351 -> Button 6 RGB: 0 127 255
15:06:02.351 -> MQTT_EVENT_SUBSCRIBED, msg_id=32349, TOPIC=
15:06:02.351 -> TOPIC=button/led6 DATA=true msg_id=19907 MILLIS=19908

15:06:02.351 -> Could not deserialize, comparing values instead, Equal: 0

Dus hij haalt wel waardes uit de waarde. (In dit geval even binair 15 enen.
Zie deze post. Helpt dat?

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
dog4life schreef op woensdag 17 januari 2024 @ 16:19:
[...]

Bij mqtt ziet hij netjes dat er al 1 is, die skipt hij netjes (en voegt de te importeren nodes toe aan de mqtt config).
Bij HA zet hij er een 2e configuratienode bij (of ik deselecteer hem). In beide gevallen moet ik handmatig de nodes naar mijn HA configuratie omhangen. Overigens gebeurt dit ook als ik 1 van mijn eigen flows importeer..


[...]

Die node wordt al 6 jaar niet meer bijgewerkt en volgens de git repo maakt hij gebruik van deprecated functies, wist je dat? Deze werd tot recenter bijgehouden en lijkt wat goede verbeteringen te hebben: https://github.com/huffth...ed-contrib-persistent-fsm
Ah, ik moet niet vanuit de trein antwoorden. Ik gebruik idd https://github.com/huffth...ed-contrib-persistent-fsm maar ik wil deze verwijderen; Home Assistant is immers ook een mooie state machine.
[...]

Altijd goed om hardcoded eruit te factoren ;)

edit: deze heb ik ook niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"id": "b6cae6645fc1100d",
        "type": "moment",
        "z": "1044a74b4adb9c61",
        "name": "format date",
        "topic": "",
        "input": "label",
        "inputType": "msg",
        "inTz": "Europe/Amsterdam",
        "adjAmount": 0,
        "adjType": "days",
        "adjDir": "add",
        "format": "D MMMM",
        "locale": "nl",
        "output": "label",
        "outputType": "msg",
        "outTz": "Europe/Amsterdam",
Dat is deze:
https://github.com/Totall...n/node-red-contrib-moment om de datum om te schrijven naar een leesbare datum. Ik importeer de tijd uit HA naar het display, en de datum gaat als label boven de tijd.
Afbeeldingslocatie: https://tweakers.net/i/fYR-Jzfy6c_ERxm_F2eNo2Jdb-g=/x800/filters:strip_icc():strip_exif()/f/image/57VItRidMsdDUJRAGFWWkQwq.jpg?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Jacko01
  • Registratie: Maart 2011
  • Laatst online: 18:51
balk schreef op woensdag 17 januari 2024 @ 17:13:
[...]

Wordt aan gewerkt idd.

[...]

Zie deze post. Helpt dat?
Ziet er allemaal goed uit. Heb al een stuk van je code ingezet. Nog wel erg basic, maar in elk geval dimt alles vanaf 10 uur 's avonds tot 06:00.

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

@balk Om niet die hele post te quoten, dat is precies hoe ik het doe, maast de andere pogingen, maar helaas.
Nu heb ik een tweede, die weigert met wifi te verbinden. Ziet SSID's wel, maar zegt na tijdje 'failed'.
Maar er is wel een verschil. Als ik die laatste aanzet of reset met knopje, flitsen de ledjes van de button bar even. De andere doet dat niet. Ook niet als ik hem terugzet naar fabrieksinstellingen. Nu weet ik niet of hij dan hetzelfde moet doen als eenthe nieuw OOB, omdat hij immers de wifi-instellingen bewaart. (Helaas is de broker er wel uit. In mijn eigen projecten sla ik die ook op in nvm met preferences, is wel handig bij experimenten.)
Wat ik ook wel zorgelijk vind is dat je kleurvlekken op het display ziet als je op knopjes van display drukt.

Acties:
  • +1 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
@rene037 dit probleem moet je even melden bij de Button+ support (en/of op het andere topic). Wat ik me kan herinneren was dat het 'flitsen' juist een belangrijk onderdeel van de test diagnose was en als dat niet gebeurde er iets niet in orde is met de hardware.

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Ik heb het gemeld.
Nu dacht ik de buttons even om te wisselen, de bar knippert wel op de andere. Toen dacht ik ook even om het display in de eerste connector te doen en bar eronder, en dat werkt wel. 3 bars eronder en zowaar, werken allemaal. DWZ ze knipperen, ik heb alleen btn2 3n 3 nog even geprobeerd.
Dat wifi is vreemder, hij lijkt te resetten als ik naar de logdata kijk. Morgen ff kijken of hij bij de buurman wel wil connecten.

Update: Weer ff terug naar 1 display met bar en nu werkt het wonder boven wonder. Terwijl ik toch al paar keer bars gewisseld had. En texten/events werkten wel.

Update2: Fixed IP-adres ingevuld, en verbinden... Heb ik weleens vaker met die Ziggo connect box dat de DHCP-server het niet doet. Na reset werkt hij weer, maar ook als je vast IP-adres toekent. (Had al reservering, maar dat was niet voldoende.)

[ Voor 32% gewijzigd door rene037 op 17-01-2024 23:29 . Reden: update ]


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Als ik in de Json config kijk, zijn er variabelen voor voor- en achter leds. Werkt dat al? Niet vanuit de userinterface, dat zie ik uiteraard ook.
Mij leek de volgende procedure juist, maar wie weet het beter?
- naar <IP>/config
- Kopieer JSON
- Pas aan (In notepad++ pretty-print, edit, compress)
- Import op de webpagina
Maar ik krijg een wit scherm. Config wordt niet geladen.

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
rene037 schreef op woensdag 17 januari 2024 @ 23:45:
Als ik in de Json config kijk, zijn er variabelen voor voor- en achter leds. Werkt dat al? Niet vanuit de userinterface, dat zie ik uiteraard ook.
Mij leek de volgende procedure juist, maar wie weet het beter?
- naar <IP>/config
- Kopieer JSON
- Pas aan (In notepad++ pretty-print, edit, compress)
- Import op de webpagina
Maar ik krijg een wit scherm. Config wordt niet geladen.
Dan zit er wellicht een fout in de JSON. Heb ik ook gehad. En als je meer dan 45 (?) topics toekent aan alle knoppen tezamen dan werkt het ook niet. Label, toplabel, uom, ledkleur, click en long click voor acht knoppen is al te veel. Bug is gemeld.

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

balk schreef op donderdag 18 januari 2024 @ 06:53:
[...]

Dan zit er wellicht een fout in de JSON. Heb ik ook gehad. En als je meer dan 45 (?) topics toekent aan alle knoppen tezamen dan werkt het ook niet. Label, toplabel, uom, ledkleur, click en long click voor acht knoppen is al te veel. Bug is gemeld.
Het is de json zoals met /config gecopieerd en dan in 'import configuration from json' Heeft wel in notepad++ gezeten, maar ga verder testen.
Je kunt niet een deel van de json posten zeker?

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
rene037 schreef op donderdag 18 januari 2024 @ 10:10:
[...]

Je kunt niet een deel van de json posten zeker?
Nee je moet de hele config submitten. @buttonplus heeft aangegeven in het andere topic dat hier wel aan gewerkt wordt.

Je kunt voor de zekerheid je config even door https://jsonlint.com/ gooien.

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Koen Hendriks schreef op donderdag 18 januari 2024 @ 11:08:
[...]


Nee je moet de hele config submitten. @buttonplus heeft aangegeven in het andere topic dat hier wel aan gewerkt wordt.

Je kunt voor de zekerheid je config even door https://jsonlint.com/ gooien.
Als ik de brightness bij wil werken dan stuur ik enkel 'core' en 'info'. ik heb ook een tijdje (per ongeluk) geen 'mqttbrokers' doorgestuurd, en dat werkte ook.

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

balk schreef op donderdag 18 januari 2024 @ 20:54:
[...]

Als ik de brightness bij wil werken dan stuur ik enkel 'core' en 'info'. ik heb ook een tijdje (per ongeluk) geen 'mqttbrokers' doorgestuurd, en dat werkte ook.
Ik heb er een klein node-red flowtje voor gemaakt, of eigenlijk gejat uit de HA-integratie en wat aangepast, dat werkt wel. (De uit /config gekopieerde json aanpassen en dan met 'post JSON' sturen)
De json is ok, dat is het niet. Blijkt ook wel uit het feit dat het met node-red wel lukt.

Een deel posten is (vooralsnog) niet zo succesvol. Je zou zeggen dat het niet zo moeilijk is voor de buttonplus om alleen de ontvangen keys te updaten, dat is toch beetje idee achter de structuur van JSON.
Als je het 'core' deel ervoor zet gaat het wel. Je kunt dan ook één button (bijvoorbeeld) updaten.
Genoeg te experimenteren. Zo zie ik in de json volgens mij ook nog geen referentie naar de uitgangen en de i2C-bus die op de print beschikbaar is gemaakt.
Van buttonplus zelf is het ook wel ijzig stil.

[ Voor 5% gewijzigd door rene037 op 19-01-2024 10:00 . Reden: doorhaling en toevoeging ]


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Zag net in de configuratie ineens iets met een status bar met opmerking 'vanaf versie 1.08.'Firmware update gedaan, en je kunt het nu uitzetten of boven in.
Overigens kreeg ik wel continu 'error fetching ....' en uiteindelijk 'user aborted the update' of woorden van gelijke strekking, maar ik kan het ip-adres nu weglaten.

== Update: even in de log gekeken, ik denk dat die 'error fetching...' komt omdat de webpagina tijdens de udate geen data kan ophalen. Melding komt dus van je lokale browser, niet van de button+

[ Voor 23% gewijzigd door rene037 op 19-01-2024 13:00 ]


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Ik heb ook net 1.08 geladen en de JSONs vergeleken. In de JSON is alleen "statusbar": x toegevoegd onder "core". x = 0 --> Status bar hidden, 1 --> status bar top, 2 --> status bar bottom.

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Ik denk dat het daarom ook belangrijk is niet de hele config naar de button+ te sturen en alleen wat je wilt iupdaten.
In het 'info' topic zit immers h/w informatie zoals de f/w, mac-address, id en button+ versie. Die wil je niet ernaar toe pushen. Maar (hopelijk) is die in de buton+ read only

Acties:
  • +1 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
Er is zojuist een firmware update geweest 1.08, we hebben geen release notes maar misschien dat het hier wel werkt?

In iedergeval kunnen we nu het ip adres verbergen

Acties:
  • +4 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Flinke update van mijn Node Red flow:

Changelog
* Upgrade to firmware 1.08
* Centralized configuration options. See updated installation instructions
* Added brightness control
* Added release, changed click to press
* Cleaned up flow

https://github.com/balk77/node-red-buttonplus-menu

Acties:
  • 0 Henk 'm!

  • Jacko01
  • Registratie: Maart 2011
  • Laatst online: 18:51
balk schreef op zaterdag 20 januari 2024 @ 09:47:
Flinke update van mijn Node Red flow:

Changelog
* Upgrade to firmware 1.08
* Centralized configuration options. See updated installation instructions
* Added brightness control
* Added release, changed click to press
* Cleaned up flow
* For fun: button leds light up on press, off on release

https://github.com/balk77/node-red-buttonplus-menu
Bedankt. Mooi klusje voor het weekend om te updaten.

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Jacko01 schreef op zaterdag 20 januari 2024 @ 16:59:
[...]


Bedankt. Mooi klusje voor het weekend om te updaten.
Ik hoor graag jouw ervaringen!

Acties:
  • 0 Henk 'm!

  • dog4life
  • Registratie: Juli 2001
  • Niet online
balk schreef op zaterdag 20 januari 2024 @ 09:47:
Flinke update van mijn Node Red flow:

Changelog
* Upgrade to firmware 1.08
* Centralized configuration options. See updated installation instructions
* Added brightness control
* Added release, changed click to press
* Cleaned up flow
* For fun: button leds light up on press, off on release

https://github.com/balk77/node-red-buttonplus-menu
Heb hem hier inmiddels semi-werkend (semi, gebruik geen scenes en ook geen spotify etc :))
Ziet er goed uit, ik ga hier later mee verder.

Voor nu feedback/een vraag: waarom update je de pagina's door een compleet nieuwe json te sturen? Voor de main display (niet de knoppen) is dat volgens mij wel nodig, maar duurt vrij lang omdat het hele apparaat alles opnieuw rendert.
Volgens mij is het namelijk sneller om de mqtt topics te updaten voor de bars - m.a.w. door in NR meerdere virtuele pagina's (states) aan te maken, terwijl de button+ de nieuwe labels etc via het topic binnenkrijgt. In NR kun je dan de acties afvangen adhv de virtuele pagina's (states).

Wat vind je daarvan? Dat is iig waar ik me in wil bijten de komende tijd (maar zal niet zo snel gaan ivm werk, verbouwing en 3 kleine kinderen - ben ook geen hc programmeur, alhoewel ombouwen en uitbreiden me meestal vrij goed af gaat).

Wellicht dat jouw usecase anders is: bij mij hoeft het main display bvb niet middels een knop veranderd te worden, ik ben van plan dit te timen zodat tijdens de wijziging er waarschijnlijk niemand toevallig op een knop drukt (en als dat gebeurt is dat toeval, niet om van pagina te wisselen).

Wat ik wel middels de knop wil bereiken is om bvb te zien of de lichten op de zolderslaapkamers uit zijn, of ze handmatig uit te doen. En een andere pagina voor de lichten beneden etc. Dit kan volgens mij makkelijk door een mqtt subscribed bericht (vanuit zigbee2mqtt in mijn geval, met daarin de state/brightness/etc van bvb een lamp) richting een button+ topic te pushen via NR.

Acties:
  • 0 Henk 'm!

  • Jacko01
  • Registratie: Maart 2011
  • Laatst online: 18:51
balk schreef op zaterdag 20 januari 2024 @ 18:01:
[...]

Ik hoor graag jouw ervaringen!
Dit weekend niet aan toe gekomen, gezin wilde ook dingen doen ;-)

Maar ik hou je op de hoogte.

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
dog4life schreef op zondag 21 januari 2024 @ 23:39:
[...]


Heb hem hier inmiddels semi-werkend (semi, gebruik geen scenes en ook geen spotify etc :))
Ziet er goed uit, ik ga hier later mee verder.

Voor nu feedback/een vraag: waarom update je de pagina's door een compleet nieuwe json te sturen? Voor de main display (niet de knoppen) is dat volgens mij wel nodig, maar duurt vrij lang omdat het hele apparaat alles opnieuw rendert.
Volgens mij is het namelijk sneller om de mqtt topics te updaten voor de bars - m.a.w. door in NR meerdere virtuele pagina's (states) aan te maken, terwijl de button+ de nieuwe labels etc via het topic binnenkrijgt. In NR kun je dan de acties afvangen adhv de virtuele pagina's (states).

Wat vind je daarvan? Dat is iig waar ik me in wil bijten de komende tijd (maar zal niet zo snel gaan ivm werk, verbouwing en 3 kleine kinderen - ben ook geen hc programmeur, alhoewel ombouwen en uitbreiden me meestal vrij goed af gaat).

Wellicht dat jouw usecase anders is: bij mij hoeft het main display bvb niet middels een knop veranderd te worden, ik ben van plan dit te timen zodat tijdens de wijziging er waarschijnlijk niemand toevallig op een knop drukt (en als dat gebeurt is dat toeval, niet om van pagina te wisselen).

Wat ik wel middels de knop wil bereiken is om bvb te zien of de lichten op de zolderslaapkamers uit zijn, of ze handmatig uit te doen. En een andere pagina voor de lichten beneden etc. Dit kan volgens mij makkelijk door een mqtt subscribed bericht (vanuit zigbee2mqtt in mijn geval, met daarin de state/brightness/etc van bvb een lamp) richting een button+ topic te pushen via NR.
Bedankt voor de uitgebreide terugkoppeling (y)
Wat jij in gedachten hebt, had ik ook eerst. Dit zijn mijn ervaringen:
- moeilijk om in NR een gate te bouwen. Dat moet dan voor elk inkomend topic. Dat werd bij mij al snel een zooi.
- ik wilde op het display verschillende velden per menu. Je kunt wel een leeg topic sturen maar dan blijft de B+ een streepje weergeven
- ik kan nu een waarde naar een mqtt topic blijven sturen, ook als deze niet wordt weergegeven. Dus de opbrengst van de panelen gaan naar buttonplus/wk1/display/overdag/6/value, ook als het display op avond staat. Erg eenvoudig om mee te werken
- het is niet mijn bedoeling om zelf te wisselen van menu. Wisselt automatisch op tijd tussen overdag en avond, en als de moOde player aan gaat over op menu muziek. Wachten op wisselen is dus niet zon probleem

-edit-
Ik heb vandaag ook nog een akelige bug uit mijn flow gehaald die de flow deed stoppen in sommige gevallen. Staat intussen in de GitHub repo

Acties:
  • +1 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

@balk Wel een beetje eens met wat @dog4life schrijft. Zoals gebleken is, kun je alleen de nodige keys sturen. Aangezien je een event krijgt bij een klik en alleen als gevolg daarvan (eventueel) een deel van de gui wijzigt, kun je alleen dat deel updaten. Maakt het in NR wel complexer, maar ook simpeler, je hoeft immers niet meer de hele JSON-structuur op te bouwen.

Ik probeer het ook een beetje aan de praat te krijgen, maar ik zit met die HA-afhankelijkheid. Ik heb geen HA, en ik weet niet wat al die parameters in die HA-blokken doen. (Ik heb die fnctie wel aan het palet toegevoegd, maar het werkt dan niet )

Overigens zag ik ook nog hier en daar 'wk1' hardcoded in je functies,

Verder prettig dat er een voorbeeld opzet is, dus dank voor je werk..

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
rene037 schreef op maandag 22 januari 2024 @ 18:57:
@balk Wel een beetje eens met wat @dog4life schrijft. Zoals gebleken is, kun je alleen de nodige keys sturen. Aangezien je een event krijgt bij een klik en alleen als gevolg daarvan (eventueel) een deel van de gui wijzigt, kun je alleen dat deel updaten. Maakt het in NR wel complexer, maar ook simpeler, je hoeft immers niet meer de hele JSON-structuur op te bouwen.
Nog eens over nagedacht en ik ben het niet oneens met jou en @dog4life. Display is moeilijker zonder JSON te doen maar de knoppen moet kunnen. En ik heb er nu ook een praktische reden voor: de JSON wordt te groot voor de buffer van de B+. Zie issue 73. Als ik de buttons weglaat is de JSON kleiner. Er vormt zich een concept in mijn hoofd :)
Ik probeer het ook een beetje aan de praat te krijgen, maar ik zit met die HA-afhankelijkheid. Ik heb geen HA, en ik weet niet wat al die parameters in die HA-blokken doen. (Ik heb die fnctie wel aan het palet toegevoegd, maar het werkt dan niet )

Overigens zag ik ook nog hier en daar 'wk1' hardcoded in je functies,

Verder prettig dat er een voorbeeld opzet is, dus dank voor je werk..
Ik heb me vooral op de "Button+ Modes" flow gericht. Die andere flow is minder interessant, en daarom heb ik die niet opgeschoond. Maar ik kan wel wat uitleg geven over wat er gebeurd. De HA afhankelijkheid kan makkelijk omzeild worden met MQTT.

Een displayitem heeft nodig:
  • value, komt uit msg.payload
  • uom, komt uit msg.uom, gevoed door Home Assistant attribuut "unit_of_measurement"
  • label, komt uit msg.label, gevoed door Home Assistant attribuut "Friendly Name"
  • msg.displayitem, verbindt dit aan het geconfigureerde veld
  • msg.device, (soms hardcoded als wk1), wordt gebruikt om het topic to construeren
  • msg.page, om de waarde naar het juiste menu te sturen
valuetopic: buttonplus/<msg.device>/display/<msg.page>/<msg.displayitem>/value
labeltopic: buttonplus/<msg.device>/display/<msg.page>/<msg.displayitem>/label
uomtopic: buttonplus/<msg.device>/display/<msg.page>/<msg.displayitem>/uom

Al deze zaken kunnen ook via MQTT en een change node geregeld worden

Acties:
  • +3 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
@rene037 @dog4life het is me gelukt. Ik heb de flow bijgewerkt in een branch op GitHub. Ik moet nog wel wat opruimen maar de splitsing is daar. Ik ga nog even verder met poetsen.
https://github.com/balk77.../tree/buttons-mqtt-update

Je kunt nu de knop labels bijwerken via MQTT. Ze zenden allemaal
buttonplus/<msg.device>/display/<buttonid>/state
uit. Dat kan press, longpress of release zijn (ja dat werkt al). De huidige button-page mapping wordt opgeslagen in flow.pagebutton, waarbij (in mijn geval) flow.pagebutton.0 = "main" en flow.pagebutton.4 gelijk is aan de actieve page. Node "Split topic" spuugt dus het volgende uit:
msg.button = ingedrukte knop, 0-7
msg.page = page behorende bij die knop
msg.state = press, longpress of release

De Inject "Trigger mqttbuttons to B+ " zorgt er voor dat alle topics eenmalig dmv een JSON naar de B+ gaan. Doe dit eerst! Daarna luistert B+ naar buttonplus/<msg.device>/display/<buttonid>/label etc.

Op dit moment luisteren zowel display als buttons naar hetzelfde topic: buttonplus/<deviceid>/page maar dat kan je loskoppelen als je wil. Dan verander je alleen de buttons (via MQTT) of display (via JSON).

[ Voor 3% gewijzigd door balk op 23-01-2024 21:12 . Reden: video toegevoegd ]


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

balk schreef op dinsdag 23 januari 2024 @ 21:05:
@rene037 @dog4life het is me gelukt. Ik heb de flow bijgewerkt in een branch op GitHub. Ik moet nog wel wat opruimen maar de splitsing is daar. Ik ga nog even verder met poetsen.
https://github.com/balk77.../tree/buttons-mqtt-update

Je kunt nu de knop labels bijwerken via MQTT. Ze zenden allemaal
buttonplus/<msg.device>/display/<buttonid>/state
uit. Dat kan press, longpress of release zijn (ja dat werkt al). De huidige button-page mapping wordt opgeslagen in flow.pagebutton, waarbij (in mijn geval) flow.pagebutton.0 = "main" en flow.pagebutton.4 gelijk is aan de actieve page. Node "Split topic" spuugt dus het volgende uit:
msg.button = ingedrukte knop, 0-7
msg.page = page behorende bij die knop
msg.state = press, longpress of release

De Inject "Trigger mqttbuttons to B+ " zorgt er voor dat alle topics eenmalig dmv een JSON naar de B+ gaan. Doe dit eerst! Daarna luistert B+ naar buttonplus/<msg.device>/display/<buttonid>/label etc.

Op dit moment luisteren zowel display als buttons naar hetzelfde topic: buttonplus/<deviceid>/page maar dat kan je loskoppelen als je wil. Dan verander je alleen de buttons (via MQTT) of display (via JSON).

[YouTube: 23 januari 2024]
Dank voor het werk, ben er mee aan het spelen in een VM, nu met alleen het gedeelte zonder HA.
Heb wat labels en zo aangepast (Values ff hardcoded tekst), maar ik zie ze niet als ik de trigger inject doe. Als ik op knopjes druk zie ik in MQTT Explorer wel de events, ook als ik jouw voorbeeld pagina's injecteer. Maar niet op het scherm. Hoofdscherm is blank. Labels op knopjes blijven ook standaard. Als ik met de webinterface de 'hoofdkleur' aanpas en daarna de trigger, gaat de kleur van de labels wel terug. Ofwel, er komt wel data aan in de buttonPlus.
Overigens zie ik dat je nog steeds het config blok meestuurt, dat lijkt me niet OK. (Het MAC-adres en F/W versie moet je niet aanpassen.)
Ik knutsel nog wat verder, maar morgen geen tijd helaas.

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
rene037 schreef op dinsdag 23 januari 2024 @ 23:55:
[...]

Dank voor het werk, ben er mee aan het spelen in een VM, nu met alleen het gedeelte zonder HA.
Heb wat labels en zo aangepast (Values ff hardcoded tekst), maar ik zie ze niet als ik de trigger inject doe. Als ik op knopjes druk zie ik in MQTT Explorer wel de events, ook als ik jouw voorbeeld pagina's injecteer. Maar niet op het scherm. Hoofdscherm is blank. Labels op knopjes blijven ook standaard. Als ik met de webinterface de 'hoofdkleur' aanpas en daarna de trigger, gaat de kleur van de labels wel terug. Ofwel, er komt wel data aan in de buttonPlus.
Als je in de webinterface kijkt, op welke topics subscribe je dan?
Heb je de "Trigger mqttbuttons to B+ " inject gedaan? En de algemene config inject links boven? De hoofdkleur zit, uit mijn hoofd, in het core blok. Dus dat lijkt wel te werken. Ik neem ook aan dat het scherm ververst wanneer je het display aanpast?
Overigens zie ik dat je nog steeds het config blok meestuurt, dat lijkt me niet OK. (Het MAC-adres en F/W versie moet je niet aanpassen.)
Ik knutsel nog wat verder, maar morgen geen tijd helaas.
Ah, klopt. Ik kreeg een blanco webpagina van de B+. Dus ik had wat zitten rommelen. Deze, en ook de mqttbroker en sensor blokken moeten naar een one-off inject.

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

De topics lijken OK, op de webpagina zie ik ook de labels zie ik nu, Maar als ik kijk naar de buttons, staan daar geen events op de labels en toplabels.
Ik heb even een debug na 'prepare MQTT topics' gezet, en als ik bijv de inject van avond doe, komt er een reeks topics voorbij . Maar die doen niets omdat er in de button+ geen events op staan (Die zijn leeg.)
Ik zei al dat ik vandaag geen tijd had, toch ff snel gekeken... vermoed dat bij constructie configuratie die events niet gemaakt worden. (Zou bij 'trigger mqttbuttons to B+ moeten gebeuren toch?

Tip: Bij de debug kun je naam meegeven, dat is wat duidelijker rechts in het debug pane van node-red.

Acties:
  • +1 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Ben inmiddels stuk verder, ik heb wat aanpassingen gemaakt en vooral de commentaarblokken van uitleg voorzien. Maar ik weet niet hoe ik het handig bij jou krijg. Te lang voor bericht via tweakers en ik heb je e-mail adres niet. Evt kun je dat via PM sturen. Als je gezien hebt wat ik gewijzigd heb en daar brood in ziet kan ik er op doorgaan. Wordt het werk een beetje verdeeld. Voor iemand die niet weet hoe het in elkaar steekt is het anders nogal gepuzzel.
Met toelichting of stappenplan is het zeer bruikbaar denk ik.
Ik weet ook niet hoe je handig updates kunt laden zonder je eigen config om zeep te brengen.

Acties:
  • 0 Henk 'm!

  • Mattie112
  • Registratie: Januari 2007
  • Laatst online: 14-09 15:11
rene037 schreef op donderdag 25 januari 2024 @ 15:33:
Ben inmiddels stuk verder, ik heb wat aanpassingen gemaakt en vooral de commentaarblokken van uitleg voorzien. Maar ik weet niet hoe ik het handig bij jou krijg. Te lang voor bericht via tweakers en ik heb je e-mail adres niet. Evt kun je dat via PM sturen. Als je gezien hebt wat ik gewijzigd heb en daar brood in ziet kan ik er op doorgaan. Wordt het werk een beetje verdeeld. Voor iemand die niet weet hoe het in elkaar steekt is het anders nogal gepuzzel.
Met toelichting of stappenplan is het zeer bruikbaar denk ik.
Ik weet ook niet hoe je handig updates kunt laden zonder je eigen config om zeep te brengen.
(Je kan via github (wat) changes voorstellen: https://github.com/balk77/node-red-buttonplus-menu/pulls)

3780wP (18x 210wP EC Solar) | 2x Marstek Venus E (5.12kWh)


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Yep, snap ik, maar bij 'normale' code krijg je dan zo'n mooie diff met changes.
Met een node-red-file gaat dat denk ik niet. Ik ben ff aan het kijken of ik soort extract van wijzigingen kan maken. Omdat ik soms ook alleen iets verplaatst heb, wordt het onoverzichtelijk.
Ook is mijn config wezenlijk anders, dus Balk kan dat niet zomaar importeren, dan is zijn config om zeep.

Acties:
  • 0 Henk 'm!

  • Mattie112
  • Registratie: Januari 2007
  • Laatst online: 14-09 15:11
rene037 schreef op donderdag 25 januari 2024 @ 16:19:
[...]

Yep, snap ik, maar bij 'normale' code krijg je dan zo'n mooie diff met changes.
Met een node-red-file gaat dat denk ik niet. Ik ben ff aan het kijken of ik soort extract van wijzigingen kan maken. Omdat ik soms ook alleen iets verplaatst heb, wordt het onoverzichtelijk.
Ook is mijn config wezenlijk anders, dus Balk kan dat niet zomaar importeren, dan is zijn config om zeep.
Ah ok, ja ik ben zelf niet echt bekend met node red, ik zag dat het JSON was dus vandaar :)

3780wP (18x 210wP EC Solar) | 2x Marstek Venus E (5.12kWh)


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Mattie112 schreef op donderdag 25 januari 2024 @ 16:28:
[...]


Ah ok, ja ik ben zelf niet echt bekend met node red, ik zag dat het JSON was dus vandaar :)
Ik heb geprobeerd de JSON te sorteren, maar dan nog zijn er duizenden verschillen. De wires krijgen andere ID's om maar wat te noemen.

Het zijn ruim 4000 regels, dus handmatig is ook lastig.

Dus 'mijn versie' laden in een VM en dan de items (Ballonnen, functies, subflows) openen om naar verschillen te kijken lijkt nog het snelst, hoe omslachtig ook.

Handmatig zorgvuldig wijzigingen documenteren is voor nu de 'domme' optie.

Acties:
  • 0 Henk 'm!

  • DR_Apples
  • Registratie: Januari 2024
  • Laatst online: 19-05 13:18
@balk Vraagje, ik ben even wezen spelen met je NR flows (ziet er mooi uit!), maar ik krijg door een voor mij onbekende reden de json config niet juist gepost naar de button+.

De gegevens mbt t display en knop 0, 1, 2 gaan mee, maar vanaf knop 3 t/m 7 komt dit niet meer mee. (zie foto)Afbeeldingslocatie: https://tweakers.net/i/mOSYo8hAX_mOILjnIECZhRCZALc=/800x/filters:strip_exif()/f/image/j05J78L3b4uhFFgm2GzQu1br.png?f=fotoalbum_large


Ben jij in de afgelopen tijd hier ook tegenaan gelopen? Zo ja, hoe heb je dit kunnen oplossen?

Acties:
  • 0 Henk 'm!

  • DR_Apples
  • Registratie: Januari 2024
  • Laatst online: 19-05 13:18
Daarentegen ben ik ook wel benieuwd naar je "prio notificatie" script, zie je een kans om die te delen?

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Waarschijnlijk teveel topics. Er is momenteel maar plaats voor 45 uit mijn hoofd. Is als bug gemeld.
Je kunt proberen tijdelijk de configuratie van de eerste buttons eruit te halen en kijken of er dan andere meekomen. Ik ben er ook mee aan het stoeien, inclusief een handleiding, nu wat laat om er in te duiken.

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
DR_Apples schreef op vrijdag 26 januari 2024 @ 20:54:
Daarentegen ben ik ook wel benieuwd naar je "prio notificatie" script, zie je een kans om die te delen?
Ha, staat hier: balk in "Button+ topic"

Ik heb nu de wasmachine, droger, vuilnis vandaag en morgen er in zitten

Acties:
  • 0 Henk 'm!

  • DR_Apples
  • Registratie: Januari 2024
  • Laatst online: 19-05 13:18
rene037 schreef op vrijdag 26 januari 2024 @ 23:26:
Waarschijnlijk teveel topics. Er is momenteel maar plaats voor 45 uit mijn hoofd. Is als bug gemeld.
Je kunt proberen tijdelijk de configuratie van de eerste buttons eruit te halen en kijken of er dan andere meekomen. Ik ben er ook mee aan het stoeien, inclusief een handleiding, nu wat laat om er in te duiken.
Ja natuurlijk, dat is waar ja. Dankjewel!
Hopen dat dat gefixt wordt in de volgende firmware update :)

Acties:
  • 0 Henk 'm!

  • Milmoor
  • Registratie: Januari 2000
  • Laatst online: 13-09 16:23

Milmoor

Footsteps and pictures.

@balk Leuk dat je met Node-Red stevige stappen aan het maken bent. Ik gebruik zelf alleen geen Home Assistent, maar doe alles puur in Node-Red. Ik doe daar nu:
- RFXcom aansturen
- Fronius uitlezen
- Fritz.box uitlezen
- Shellies aansturen
Wat voegt HA aan meerwaarde toe? Want je lijkt toe te werken naar een hybride opzet, en dat zal een reden hebben.

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Milmoor schreef op zaterdag 27 januari 2024 @ 20:19:
@balk Leuk dat je met Node-Red stevige stappen aan het maken bent. Ik gebruik zelf alleen geen Home Assistent, maar doe alles puur in Node-Red. Ik doe daar nu:
- RFXcom aansturen
- Fronius uitlezen
- Fritz.box uitlezen
- Shellies aansturen
Wat voegt HA aan meerwaarde toe? Want je lijkt toe te werken naar een hybride opzet, en dat zal een reden hebben.
Meeste van mijn data komt uit Home Assistant, dus dat was een no-brainer voor mij. Maar in NR is het (veel) makkelijker met JSON objecten werken. Vandaar mijn keus. Ik had dit ook achteraf gezien niet in HA willen maken, misschien wel in Appdaemon maar dan is NR toch wat grafischer.

Er is een versie onderweg van mijn flow waarbij de configuratie en de functies gescheiden zijn. De functie flow, met alle logica, heeft dan ook geen Home Assistant links meer. Het enige wat je nog moet doen op de functie flow is de device ID invullen zodat de goede config opgehaald wordt.

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
DR_Apples schreef op zaterdag 27 januari 2024 @ 12:40:
[...]


Ja natuurlijk, dat is waar ja. Dankjewel!
Hopen dat dat gefixt wordt in de volgende firmware update :)
De grens is niet zozeer 45 topics, dat was toeval. Maar de JSON werd daardoor te groot voor de buffer van de B+. Ik heb de display en knoppen nu gescheiden waardoor de JSON veel kleiner is. Ik hoop morgen iets te kunnen releasen.

Acties:
  • +3 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Grote update van Node Red flow.
https://github.com/balk77.../tree/buttons-mqtt-update

Belangrijkste wijzigingen:
* loskoppelen config van functionaliteit. Je kunt nu de functie flow aanpassen (lees: bugs pletten) zonder dat je je config overschrijft
* Buttons luisteren nu naar generieke topics. Node Red stuurt menu afhankelijke labels naar de generieke topics. Knoppen publiceren ook naar generieke topics (buttonplus/<device>/button/3/state) en NR vertaalt dat in een menu specifiek topic (buttonplus/<device>/button/muziek/3/state)

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
@buttonplus ik zag dat er een nieuwe firmware is, 1.081. is er een wijziging in de JSON tov 1.08?

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Ik dacht ik vergelijk de JSON even, maar ik kom niet meer in de webpagina. Hij geeft het B+ logo, het IP-adres en het verversicon.
/config werkt wel, die had ik ge copy/paste. Even vergeleken met mijn andere B+ die wel geüpdated is, heeft andere config, maar zo snel zie ik alleen een kopje
[code]
"mqttsensors": [
{
"interval": 10,
"sensorid": 1,
[/code]
wat bij die andere niet staat.

B+ naar fabrieksinstelling terug, gedumpt, geupdated, nog een dump, json vergeleken, alleen firmware versie bijgewerkt. Ofwel geen wijzigingen in de JSON. Waarom die sensor er uit was weet ik niet, maar hij was dan ook van het pad af.
BTW - beide knopjes ingedrukt zet hem in fabrieksinstelling, mocht je dat niet weten.

[ Voor 27% gewijzigd door rene037 op 31-01-2024 16:33 ]


Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
balk schreef op woensdag 31 januari 2024 @ 06:50:
@buttonplus ik zag dat er een nieuwe firmware is, 1.081. is er een wijziging in de JSON tov 1.08?
Nee de config is hetzelfde gebleven hij had mij het volgende gestuurd:
Enige aanpassing is het vergroten van de buffer voor de JSON parse/serialize van de configuratie. In sommige extreme gevallen met heel grote configuratie kon dit er toe leiden dat de B+ niet opstartte.

Acties:
  • 0 Henk 'm!

  • Milmoor
  • Registratie: Januari 2000
  • Laatst online: 13-09 16:23

Milmoor

Footsteps and pictures.

Ik ben hem aan het bekijken. Snap ik het zo goed?
  • Button+ flow/Part of flow: algemene configuratie
  • Button+ modes flow: algemene aansturing van de button+
  • Button+ flow/own setup: hier voedt je de diverse pagina's van de button+ met informatie
In theorie zou alleen in "own setup" configuratie specifieke informatie moeten staan. De rest is generiek.

offtopic:
Grappig om te zien, jij bereidt de zaken voor in javascript en stopt ze daarna in een volgende node. Ik heb mij indertijd helemaal uitgeleefd in JSONata voor vergelijkbare zaken. Ik heb mijn best gedaan om zo min mogelijk javascript te gebruiken. Het is niet dat het een beter is dan de ander, het is gewoon een andere insteek.

Hieronder een voorbeeld van het combineren van al eerdere in globale data opgeslagen informatie met nieuwe informatie via JSONata. Niet perse het meest leesbare stukje, maar het toont wel de kracht van het manipuleren van JSON via JSONata.
(een code block kan niet binnen de offtopic):


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* Combineer globalCompact en de opgehaalde gegevens, zonder HostInfo. Dit zorgt ervoor */
/* dat in globalCompact de actuele namen komen te staan. De FritzBox is leidend, dus wat */
/* daar niet staat, dat bestaat niet. */

(
   payload ~> |$|(
       $SystemName:=SystemName;
       (
           {
               "relay": $$.globalCompact[SystemName= $SystemName].relay,
               "input": $$.globalCompact[SystemName= $SystemName].input,
               "Status": $$.globalCompact[SystemName= $SystemName].Status
           }
       )
   ),
   "HostInfo"|
)

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Milmoor schreef op zaterdag 3 februari 2024 @ 10:56:
[...]

Ik ben hem aan het bekijken. Snap ik het zo goed?
  • Button+ flow/Part of flow: algemene configuratie
  • Button+ modes flow: algemene aansturing van de button+
  • Button+ flow/own setup: hier voedt je de diverse pagina's van de button+ met informatie
In theorie zou alleen in "own setup" configuratie specifieke informatie moeten staan. De rest is generiek.

offtopic:
Grappig om te zien, jij bereidt de zaken voor in javascript en stopt ze daarna in een volgende node. Ik heb mij indertijd helemaal uitgeleefd in JSONata voor vergelijkbare zaken. Ik heb mijn best gedaan om zo min mogelijk javascript te gebruiken. Het is niet dat het een beter is dan de ander, het is gewoon een andere insteek.


Hieronder een voorbeeld van het combineren van al eerdere in globale data opgeslagen informatie met nieuwe informatie via JSONata. Niet perse het meest leesbare stukje, maar het toont wel de kracht van het manipuleren van JSON via JSONata.
(een code block kan niet binnen de offtopic):


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* Combineer globalCompact en de opgehaalde gegevens, zonder HostInfo. Dit zorgt ervoor */
/* dat in globalCompact de actuele namen komen te staan. De FritzBox is leidend, dus wat */
/* daar niet staat, dat bestaat niet. */

(
   payload ~> |$|(
       $SystemName:=SystemName;
       (
           {
               "relay": $$.globalCompact[SystemName= $SystemName].relay,
               "input": $$.globalCompact[SystemName= $SystemName].input,
               "Status": $$.globalCompact[SystemName= $SystemName].Status
           }
       )
   ),
   "HostInfo"|
)
JSondata is idd wel weer een ander taaltje.

Los van de grote update, hopelijk kunnen wat mensen ook het aparte flowtje testen dat ik erbij gezet heb bij branch 4.

Het is mijn idee om het opzetten van een nieuwe setup in stappen te doen, met ingebouwde testen.
Het is nu de functie 01, maar dan uitgebreid met vooral heel veel comentaar/instructies. Het laat op het display een tekst zien en koppelt de tempsensor aan een display itme om ook de werking/ koppeling van/met de broker te verifiëren.
Zo kreeg ik geen temp te zien, tot ik me bedacht dat in username/ww van mijn live broker gebruikte ipv die in mijn virtuele machine.
Ik wil in die functie ook alle topics van de buttons zetten waarop ze reageren en welke ze genereren.
Wellicht kijk ik verkeerd, maar de topics om labels, values en UoM aan te passen kan ik nu niet vinden. (Wel wat de flow uitstuurt, maar niet dat ze bij de button+ config ingesteld worden. Als dat er wel in zit en zie het over het hoofd hoor ik het graag.)

De insteek is uiteraard om het met Balk's welnem het in te voegen in zijn flow.

[ Voor 1% gewijzigd door rene037 op 03-02-2024 11:34 . Reden: laatste zin ]


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Milmoor schreef op zaterdag 3 februari 2024 @ 10:56:
[...]

Ik ben hem aan het bekijken. Snap ik het zo goed?
  • Button+ flow/Part of flow: algemene configuratie
  • Button+ modes flow: algemene aansturing van de button+
  • Button+ flow/own setup: hier voedt je de diverse pagina's van de button+ met informatie
In theorie zou alleen in "own setup" configuratie specifieke informatie moeten staan. De rest is generiek.

offtopic:
Grappig om te zien, jij bereidt de zaken voor in javascript en stopt ze daarna in een volgende node. Ik heb mij indertijd helemaal uitgeleefd in JSONata voor vergelijkbare zaken. Ik heb mijn best gedaan om zo min mogelijk javascript te gebruiken. Het is niet dat het een beter is dan de ander, het is gewoon een andere insteek.

Hieronder een voorbeeld van het combineren van al eerdere in globale data opgeslagen informatie met nieuwe informatie via JSONata. Niet perse het meest leesbare stukje, maar het toont wel de kracht van het manipuleren van JSON via JSONata.
(een code block kan niet binnen de offtopic):


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* Combineer globalCompact en de opgehaalde gegevens, zonder HostInfo. Dit zorgt ervoor */
/* dat in globalCompact de actuele namen komen te staan. De FritzBox is leidend, dus wat */
/* daar niet staat, dat bestaat niet. */

(
   payload ~> |$|(
       $SystemName:=SystemName;
       (
           {
               "relay": $$.globalCompact[SystemName= $SystemName].relay,
               "input": $$.globalCompact[SystemName= $SystemName].input,
               "Status": $$.globalCompact[SystemName= $SystemName].Status
           }
       )
   ),
   "HostInfo"|
)
Oei, JSONata, daar wilde ik niet aan beginnen ivm gebrek aan kennis :)

Ik heb intussen wel versie 0.2 uitgegeven. Ik heb geprobeerd de change log duidelijk te maken. https://github.com/balk77...us-menu/releases/tag/v0.2

Jouw begrip is inderdaad correct; ik ben overigens voornemens om eea nog verder te scheiden; dus de algemene aansturing los van het "own setup" gedeelte. Ik heb overigens (voor mezelf) wel meer "own setup" achtige Node Red zooi waar anderen interesse in zouden kunnen hebben:
* Button presses loggen in een Postgresql database. Gewoon voor de statistiek
* Vertrektijden van "mijn" trein ophalen bij NS, en dat weergeven op de display incl. vertraging.

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
rene037 schreef op zaterdag 3 februari 2024 @ 11:33:
[...]


JSondata is idd wel weer een ander taaltje.

Los van de grote update, hopelijk kunnen wat mensen ook het aparte flowtje testen dat ik erbij gezet heb bij branch 4.

Het is mijn idee om het opzetten van een nieuwe setup in stappen te doen, met ingebouwde testen.
Het is nu de functie 01, maar dan uitgebreid met vooral heel veel comentaar/instructies. Het laat op het display een tekst zien en koppelt de tempsensor aan een display itme om ook de werking/ koppeling van/met de broker te verifiëren.
Zo kreeg ik geen temp te zien, tot ik me bedacht dat in username/ww van mijn live broker gebruikte ipv die in mijn virtuele machine.
Ik wil in die functie ook alle topics van de buttons zetten waarop ze reageren en welke ze genereren.
Wellicht kijk ik verkeerd, maar de topics om labels, values en UoM aan te passen kan ik nu niet vinden. (Wel wat de flow uitstuurt, maar niet dat ze bij de button+ config ingesteld worden. Als dat er wel in zit en zie het over het hoofd hoor ik het graag.)

De insteek is uiteraard om het met Balk's welnem het in te voegen in zijn flow.
Ik ga jouw flow nog testen. Maar niet vandaag :)

Ik heb laatst de config gescheiden van de functie. Je kunt nu op Flow "B+ config" (voorheen "Button+ flow") de labels instellen:
Afbeeldingslocatie: https://tweakers.net/i/Z8B0U2n8kalVRko6OnOxoAtN8Eo=/800x/filters:strip_exif()/f/image/jumgpf10Ff71x13x2u5DI3Jk.png?f=fotoalbum_large

Acties:
  • +2 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Ik misde dat ik een template kon gebruiken voor value/labels/iets anders. Ik heb dit opgelost door templating te ondersteunen. Was wel even een zoektocht hoe je dit kon doen in Home assistant API, maar ik denk dat ik het gevonden heb. Nu even wachten op de PR :)

Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
P-Storm schreef op zondag 4 februari 2024 @ 23:53:
Ik misde dat ik een template kon gebruiken voor value/labels/iets anders. Ik heb dit opgelost door templating te ondersteunen. Was wel even een zoektocht hoe je dit kon doen in Home assistant API, maar ik denk dat ik het gevonden heb. Nu even wachten op de PR :)
Ik heb begrepen dat Koen even niet in staat is om veel aandacht te besteden aan dit project. Binnenkort weer wel. Dus even geduld :)

Acties:
  • +3 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
P-Storm schreef op zondag 4 februari 2024 @ 23:53:
Ik misde dat ik een template kon gebruiken voor value/labels/iets anders. Ik heb dit opgelost door templating te ondersteunen. Was wel even een zoektocht hoe je dit kon doen in Home assistant API, maar ik denk dat ik het gevonden heb. Nu even wachten op de PR :)
Ben op vakantie, dus zal even moeten wachten ☕

Acties:
  • +11 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Even een teken van leven.... Er is een nieuwe B+ firmware in de maak en die wordt door oa mij getest. Heeft ook impact op de Node Red flow die ik beheer. Binnenkort meer :)

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Ondertussen is er een 1.11 release geweest van de firmware, maar de Home Assistant ondersteuning was er niet. Deze heb ik met een PR klaarstaan om toe te voegen. :)

Helaas ben ik niet heel erg thuis met de API van HA, dus heb ik via een workaround het toch mogelijk gemaakt om die Mini displays te besturen. Dit wordt momenteel door het op Bar 1 device vast te zetten.

Voordat ik mijn development omgeving zo ver kreeg om de HA lief te laten spelen... Uiteindelijk is het gelukt met een dev container, maar man man man, wat een gedoe is dat :/

Acties:
  • 0 Henk 'm!

  • Ron168
  • Registratie: Juli 2020
  • Laatst online: 03-09 14:35
Inmiddels heb ik meerdere kastjes aan de muur.
In de HA addon worden deze gemarkeerd door btn_id.
Als je er maar 1 hebt, is dit geen ramp, maar ik merk nu dat ik niet meer weet welk ID voor welk kastje is.
Hetzelfde geldt voor de MQTT topics, deze worden ook gelinkt aan btn_id.

Dit is eenvoudig op te lossen door de naam te gebruiken die ingesteld kan worden via de web interface.

Ik kan hier ook zelf een PR voor maken, maar ik weet nog niet wanneer ik hier aan toe kom.

Acties:
  • 0 Henk 'm!

  • casparz
  • Registratie: November 2007
  • Laatst online: 00:23
Ron168 schreef op vrijdag 23 februari 2024 @ 12:42:
Inmiddels heb ik meerdere kastjes aan de muur.
In de HA addon worden deze gemarkeerd door btn_id.
Als je er maar 1 hebt, is dit geen ramp, maar ik merk nu dat ik niet meer weet welk ID voor welk kastje is.
Hetzelfde geldt voor de MQTT topics, deze worden ook gelinkt aan btn_id.

Dit is eenvoudig op te lossen door de naam te gebruiken die ingesteld kan worden via de web interface.

Ik kan hier ook zelf een PR voor maken, maar ik weet nog niet wanneer ik hier aan toe kom.
Zou je hiervoor een issue kunnen aanmaken op GitHub? Dan is het in beeld wanneer anderen aan de config flow aanpassingen doen.

Acties:
  • 0 Henk 'm!

  • Wim-66
  • Registratie: Januari 2024
  • Laatst online: 10-02 15:29
casparz schreef op vrijdag 23 februari 2024 @ 21:44:
[...]


Zou je hiervoor een issue kunnen aanmaken op GitHub? Dan is het in beeld wanneer anderen aan de config flow aanpassingen doen.
Hier is een paar weken geleden al een issue voor gemaakt, zie GitHub.

Acties:
  • +3 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
Sorry voor de achterstand, ik heb nog niet weer tijd gehad sinds mijn vakantie om er mee bezig te gaan. Zitten op het moment ook in een verhuizing.

Ik heb nu wel korte lijntjes met Ronald over nieuwe firmwares en features. Hij heeft mij ook een 2e device opgestuurd zodat ik bezig kan met de issues die hiervoor zijn geopend.

Ik hoop na de verhuizing weer wat meer tijd te hebben om naar de open staande MR's en Issues te kijken :)

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Koen Hendriks schreef op maandag 26 februari 2024 @ 09:53:
Sorry voor de achterstand, ik heb nog niet weer tijd gehad sinds mijn vakantie om er mee bezig te gaan. Zitten op het moment ook in een verhuizing.

Ik heb nu wel korte lijntjes met Ronald over nieuwe firmwares en features. Hij heeft mij ook een 2e device opgestuurd zodat ik bezig kan met de issues die hiervoor zijn geopend.

Ik hoop na de verhuizing weer wat meer tijd te hebben om naar de open staande MR's en Issues te kijken :)
Top! Ik was aan het kijken of ik de bugs van meerdere devices kon oplossen (en van de 2x toevoegen error), maar merkte dat 2 devices dan echt wel nodig zijn.

Verhuizingen ken ik, ik ga komende maand daaraan beginnen :P

Acties:
  • 0 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
P-Storm schreef op maandag 26 februari 2024 @ 11:48:
[...]


maar merkte dat 2 devices dan echt wel nodig zijn.
Ja daar had ik dus ook last van, had al een potentiele fix gepushed maar die loste het helaas niet op. Ben erg blij dat ik nu zelf met 2 devices kan testen.

Acties:
  • 0 Henk 'm!

  • Wim-66
  • Registratie: Januari 2024
  • Laatst online: 10-02 15:29
Koen Hendriks schreef op maandag 26 februari 2024 @ 09:53:
Sorry voor de achterstand, ik heb nog niet weer tijd gehad sinds mijn vakantie om er mee bezig te gaan. Zitten op het moment ook in een verhuizing.
Doe rustig aan, voorlopig werkt alles. Twee uitstaande issues belemmeren de werking van de B+ niet. Hou enkel de error melding in de log-files (issue 31) en kan de twee B+s niet aan twee kamers toekennen.

Succes met je verhuizing.

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Koen Hendriks schreef op maandag 26 februari 2024 @ 11:53:
[...]


Ja daar had ik dus ook last van, had al een potentiele fix gepushed maar die loste het helaas niet op. Ben erg blij dat ik nu zelf met 2 devices kan testen.
Uiteindelijk heb ik het met een mock http server kunnen simuleren dat er meerdere devices beschikbaar waren :) .

Probleem wat er was, hij deed dat alleen bij de text/buttons, maar niet bij de hub. Nu heb ik het opgelost door de scope aan te passen. Nu nog bij de aanpassing van de backlight ook dit doorvoeren, en dan kan er tot zover ik het meerdere devices supporten. :o

Acties:
  • +1 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
Blij om te zien dat @P-Storm wat PRs heeft kunnen toevoegen, ik ben zelf nog wat druk met de verhuizing, er zitten nog wat dingen tegen en dat kost allemaal nog wel wat tijd (en daarnaast gewoon fulltime aan het werk en vader ;) )

Er is een nieuwe tag met wat changes van @P-Storm die ook multi device zouden moeten oplossen.

Acties:
  • +1 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Ik heb met een omweg kunnen debuggen en de bug kunnen oplossen. Met dank aan een persoon die al meerdere button+ modules heeft en die config naar mij toe stuurde. _/-\o_

Wel zie ik dat er een uitdaging is, want je kan alleen op entiteit (zoals brightness) alleen op 1 device vastzetten. Dit betekend dat ik de brightness van de bars alleen op 1 bar kan vastzetten, of een ander oplossing moet vinden.

Hopelijk komt er nu geen rare probleem naar boven toe met multi device :P

[ Voor 31% gewijzigd door P-Storm op 18-03-2024 23:38 ]


Acties:
  • 0 Henk 'm!

  • Daros
  • Registratie: Oktober 2004
  • Laatst online: 23:39
In HA werkt mijn B+ niet meer.
in de logging krijg ik als fout:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Logger: homeassistant.config_entries
Bron: config_entries.py:504
First occurred: 22 maart 2024 om 12:16:15 (3 gebeurtenissen)
Laatst gelogd: 12:54:29

Error setting up entry btn_457d94 for button_plus
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/button_plus/__init__.py", line 25, in async_setup_entry
    device_configuration: DeviceConfiguration = DeviceConfiguration.from_json(entry.data.get("config"))
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/button_plus/button_plus_api/model.py", line 206, in from_json
    core=Core.from_dict(data['core']),
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/button_plus/button_plus_api/model.py", line 80, in from_dict
    topics=data['topics']
           ~~~~^^^^^^^^^^
KeyError: 'topics'


Iemand dit al een keer gehad en kan mij helpen het op te lossen. B+ heeft een vast IP en is niet veranderd, devicenam is ook niet veranderd.

Acties:
  • +1 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Daros schreef op zondag 24 maart 2024 @ 12:57:
In HA werkt mijn B+ niet meer.
in de logging krijg ik als fout:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Logger: homeassistant.config_entries
Bron: config_entries.py:504
First occurred: 22 maart 2024 om 12:16:15 (3 gebeurtenissen)
Laatst gelogd: 12:54:29

Error setting up entry btn_457d94 for button_plus
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 504, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/button_plus/__init__.py", line 25, in async_setup_entry
    device_configuration: DeviceConfiguration = DeviceConfiguration.from_json(entry.data.get("config"))
                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/button_plus/button_plus_api/model.py", line 206, in from_json
    core=Core.from_dict(data['core']),
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/button_plus/button_plus_api/model.py", line 80, in from_dict
    topics=data['topics']
           ~~~~^^^^^^^^^^
KeyError: 'topics'


Iemand dit al een keer gehad en kan mij helpen het op te lossen. B+ heeft een vast IP en is niet veranderd, devicenam is ook niet veranderd.
Deze heeft een ander persoon ook gemeld. Lijkt erop dat hij niet goed gaat wanneer er niets is ingevuld. Staat op de lijst om gefixed te worden, zie github. Heb alleen nog geen tijd gehad hiervoor.

Vermoedelijke workaround, maak een topic aan bij de core (bijvoorbeeld set page) en dan gooit hij (hopelijk) geen fout.

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
En een PR klaargezet voor @Koen Hendriks om naar te kijken.

De andere staat ook klaar, maar ik weet dat hij druk bezig is, dus even geduld hiervoor :)

Acties:
  • +1 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
Versie 0.10.0 staat nu op HACS dankzij de bijdragen van @P-Storm , je zou het nog eens kunnen proberen @Daros

Moet gaan oppassen, straks is meer van de code base van P-Storm dan van mij :D

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Koen Hendriks schreef op zondag 24 maart 2024 @ 21:41:
Versie 0.10.0 staat nu op HACS dankzij de bijdragen van @P-Storm , je zou het nog eens kunnen proberen @Daros

Moet gaan oppassen, straks is meer van de code base van P-Storm dan van mij :D
Ach, als ik geen fouten maak in de git commits dan zou dit goed moeten gaan. Sorry voor de 0.10.0 errors!

Die verhuizing van mij komt er ook nog aan, dus wees maar niet bang ;)

Acties:
  • 0 Henk 'm!

  • Daros
  • Registratie: Oktober 2004
  • Laatst online: 23:39
Ik had hem weer werkend en zag de update, niet slim om de update te doen want ik krijg nu de foutmelding:

Config-flow kon niet geladen worden: {"message":"Invalid handler specified"}


Dacht verwijder even alles en begin opnieuw maar helaas lukt het verwijderen ook niet.

Acties:
  • 0 Henk 'm!

  • P-Storm
  • Registratie: September 2006
  • Laatst online: 00:35
Wat bij mijn debugging geholpen heeft is een poging tot verwijdering van de Devices onder de applicatie, en daarna een restart van home assistant. Momenteel zijn we aan het uitzoeken waardoor dit komt, zie het gesprek in github.

[ Voor 13% gewijzigd door P-Storm op 25-03-2024 16:46 ]


Acties:
  • 0 Henk 'm!

  • Lelletje
  • Registratie: Juli 2007
  • Laatst online: 12-09 14:04
Hopelijk wordt dit snel opgelost, ik kan helemaal niets meer met Button HA integratie.

Error
Config flow could not be loaded: {"message":"Invalid handler specified"}

Ik wil niet terug naar Node Red :)

Acties:
  • +2 Henk 'm!

  • Koen Hendriks
  • Registratie: Juli 2010
  • Laatst online: 21:21

Koen Hendriks

Pixel Pioneer

Topicstarter
Sorry voor de afwezigheid, ben nog steeds druk met verhuizen. Ik heb de laatste fixes van @P-Storm gemerged en als v0.0.12 gereleased

Acties:
  • +1 Henk 'm!

  • Lelletje
  • Registratie: Juli 2007
  • Laatst online: 12-09 14:04
Dank je wel, het werkt weer!

Acties:
  • 0 Henk 'm!

  • Milmoor
  • Registratie: Januari 2000
  • Laatst online: 13-09 16:23

Milmoor

Footsteps and pictures.

Ik zie dat in firmware 1.3 de MQTT structuur overhoop gaat. Iemand enig idee wat die gaat worden? Dan kan ik daar alvast rekening mee houden. Ik update voor mijn andere aparaten namelijk aan de hand van de MQTT berichten een set globale variabelen zodat deze altijd actueel zijn. Daarmee kan ik verder in NodeRed gewoon vanuit die globale variabelen werken, ipv telkens weer via MQTT de actuele status op te moeten halen en het antwoord te verwerken. De praktijk leert dat het dan wel handig is om zoveel mogelijk de oorspronkelijke structuur te volgen. Wat weglaten is prima, maar compleet herschikken is veel werk met grote kans op fouten en weinig meerwaarde. Voor Button+ moet ik dit proces nog starten, dus dan doe ik het liever in een keer (aardig) goed. Een beetje bijstellen is prima, maar ik doe liever niet vlak na realisatie weer een complete verbouwing omdat de opzet totaal anders geworden is.

"The next, more extensive update will introduce a standardized MQTT structure, making it unnecessary to define a topic for each and every possible event (1.3). They will be available on a predefined topic."

Rekeningrijden is onvermijdelijk, uitstel is struisvogelpolitiek.


Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Milmoor schreef op donderdag 25 april 2024 @ 20:08:
Ik zie dat in firmware 1.3 de MQTT structuur overhoop gaat. Iemand enig idee wat die gaat worden? Dan kan ik daar alvast rekening mee houden. Ik update voor mijn andere aparaten namelijk aan de hand van de MQTT berichten een set globale variabelen zodat deze altijd actueel zijn. Daarmee kan ik verder in NodeRed gewoon vanuit die globale variabelen werken, ipv telkens weer via MQTT de actuele status op te moeten halen en het antwoord te verwerken. De praktijk leert dat het dan wel handig is om zoveel mogelijk de oorspronkelijke structuur te volgen. Wat weglaten is prima, maar compleet herschikken is veel werk met grote kans op fouten en weinig meerwaarde. Voor Button+ moet ik dit proces nog starten, dus dan doe ik het liever in een keer (aardig) goed. Een beetje bijstellen is prima, maar ik doe liever niet vlak na realisatie weer een complete verbouwing omdat de opzet totaal anders geworden is.

"The next, more extensive update will introduce a standardized MQTT structure, making it unnecessary to define a topic for each and every possible event (1.3). They will be available on a predefined topic."
Dat is nog niet duidelijk maar een doel is dat de B+ minder actieve MQTT listeners heeft. Dus dat de B+ luistert naar (bijvoorbeeld) "buttonplus/woonkamer/#" en dat alles wat er achter zit door de B+ naar de juiste plek wordt geleid. Een kleur publishen naar "buttonplus/woonkamer/button/7/frontled" zou dan de led rechts onderin aan zetten, "buttonplus/woonkamer/button/6/frontled" links onderin. Maar, dit was 1 van de opties. Misschien wordt het heel iets anders.

Acties:
  • 0 Henk 'm!

  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 19:32
Hi @balk ,

Ik probeer de persistant storage ingeschakeld te krijgen binnen de hassio node-red addon.
De settings.js file bestaat standaard niet op de locatie waarnaar je linkt in de wiki.
Als ik deze aanmaak met onderstaande inhoud en node-red herstart doet deze hier niets mee?

Enig idee hoe ik dit oplos?

code:
1
2
3
4
contextStorage: {
    store: { module: "localfilesystem"},
    default: { module: "memory" }
},

WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu


Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
f.welvering schreef op zondag 28 april 2024 @ 19:55:
Hi @balk ,

Ik probeer de persistant storage ingeschakeld te krijgen binnen de hassio node-red addon.
De settings.js file bestaat standaard niet op de locatie waarnaar je linkt in de wiki.
Als ik deze aanmaak met onderstaande inhoud en node-red herstart doet deze hier niets mee?

Enig idee hoe ik dit oplos?

code:
1
2
3
4
contextStorage: {
    store: { module: "localfilesystem"},
    default: { module: "memory" }
},
Hi, ik heb dit in mijn '/addon_configs/a0d7b954_nodered/settings.js' file staan. Bij jou zal er een andere letterbrij zijn vermoed ik. Deze code staat aan het einde. Let op dat de kommas en krulhaken goed staan.

Bestaat die folder voor jou?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  },

  // Customising the editor
  editorTheme: {
    projects: {
      // To enable the Projects feature, set this value to true
      enabled: true,
    },
  },
  contextStorage: {
    default: "memoryOnly",
    memoryOnly: { module: 'memory' },
    file: { module: 'localfilesystem' }
  }
};

Voeg dus exact dit in, inclusief de komma die voor contextStorage staat.
code:
1
2
3
4
5
6
,
  contextStorage: {
    default: "memoryOnly",
    memoryOnly: { module: 'memory' },
    file: { module: 'localfilesystem' }
  }

Acties:
  • +1 Henk 'm!

  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 19:32
balk schreef op zondag 28 april 2024 @ 21:38:
[...]

Hi, ik heb dit in mijn '/addon_configs/a0d7b954_nodered/settings.js' file staan. Bij jou zal er een andere letterbrij zijn vermoed ik. Deze code staat aan het einde. Let op dat de kommas en krulhaken goed staan.

Bestaat die folder voor jou?

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  },

  // Customising the editor
  editorTheme: {
    projects: {
      // To enable the Projects feature, set this value to true
      enabled: true,
    },
  },
  contextStorage: {
    default: "memoryOnly",
    memoryOnly: { module: 'memory' },
    file: { module: 'localfilesystem' }
  }
};

Voeg dus exact dit in, inclusief de komma die voor contextStorage staat.
code:
1
2
3
4
5
6
,
  contextStorage: {
    default: "memoryOnly",
    memoryOnly: { module: 'memory' },
    file: { module: 'localfilesystem' }
  }
Dat bestand heb ik gevonden, inderdaad met een ander nummertje.
De config heb ik toegevoegd waarna het inderdaad werkt.

Bedankt voor de hulp.
Kan ik nu met de flows aan het stoeien.

WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu


Acties:
  • 0 Henk 'm!

  • f.welvering
  • Registratie: Oktober 2009
  • Laatst online: 19:32
@balk kan het zijn dat de configsave niet werkt als je 'maar' 1 bar hebt?

Ik heb er nog 2 bij besteld maar dat laat even op zicht wachten lijkt het.

WP: DeWarmte PompAO 6.4Kw Hybrid, CV Intergas, Thermostaat Netatmo, 70m2 vvw, PV: 34x 325wp solaredge omvormer en optimizers,Wan ip adres weten? https://mijnips.eu


Acties:
  • 0 Henk 'm!

  • vanisher
  • Registratie: Augustus 2007
  • Laatst online: 10-09 06:39
Ik ben een poging aan het doen om de node-red flows werkend te krijgen, maar ik heb zo'n idee dat firmware 1.13.3 hier niet echt aan meewerkt.

Heeft iemand dit al aan de praat?

Acties:
  • +1 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Ik kan zeggen dat configsave werkt met 1 bar, maar hou de nummering in de gaten... Ik ben aardig op weg de routines voor V2.00 klaar te hebben. Er is aardig wat gewijzigd, haal even de config op als je de 2.0 beta geladen hebt en kijk er naar.

[ Voor 25% gewijzigd door rene037 op 05-12-2024 13:47 . Reden: Toevoeging ]


Acties:
  • 0 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
vanisher schreef op donderdag 5 december 2024 @ 13:38:
Ik ben een poging aan het doen om de node-red flows werkend te krijgen, maar ik heb zo'n idee dat firmware 1.13.3 hier niet echt aan meewerkt.

Heeft iemand dit al aan de praat?
Bedoel je die van mij? Ik heb het een tijdje geleden omgezet naar AppDaemon. Node red versie is niet meer onderhouden. Ik moet dat even aangeven op GitHub

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Nee, ik heb dat ooit wel als basis gebruikt, maar ziet er no wel wat anders uit. Ik hoop vandaag opgeschoond en werkend te eindigen, hangt van tijd af. Ik zal hier een link plaatsen. Ik denk dat het er nu wel bruikbaar uitziet.

Acties:
  • 0 Henk 'm!

  • vanisher
  • Registratie: Augustus 2007
  • Laatst online: 10-09 06:39
balk schreef op donderdag 5 december 2024 @ 14:39:
[...]

Bedoel je die van mij? Ik heb het een tijdje geleden omgezet naar AppDaemon. Node red versie is niet meer onderhouden. Ik moet dat even aangeven op GitHub
Yes , die bedoelde ik iidd :D

Acties:
  • 0 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

Ah, op die manier... Nee, dat gaat niet meer werken, sindsdien teveel gewijzigd.
Ik moet ff wat andere dingen doen, probeer wat code te delen, is dan best ardige basis met voldoende commentaar om werkend te krijgen.

Acties:
  • +1 Henk 'm!

  • balk
  • Registratie: Januari 2000
  • Laatst online: 22:00
Ik heb dus een AppDaemon script gemaakt. Daarmee is het makkelijker config en script gescheiden te houden. Het werkt niet feilloos maar wel beter dan NR.

Binnenkort komt firmware 2.0 uit met goede Home Assistant ondersteuning. En er speelt ook nog de esphome ontwikkeling. Daardoor heb ik even geen tijd besteed aan het verbeteren van het script

Acties:
  • 0 Henk 'm!

  • vanisher
  • Registratie: Augustus 2007
  • Laatst online: 10-09 06:39
Helemaal top, ik wacht gewoon rustig af! Ondertussen heb ik het gewoon met een paar HA automations werkend voor the time being.

Acties:
  • +1 Henk 'm!

  • rene037
  • Registratie: November 2007
  • Laatst online: 13-09 12:02

rene037

Homey, SmartEVSE, Sessy

OK, mocht je naar NR willen kijken, hier is mijn uitwerking tot nu: https://github.com/rboeij.../releases/tag/V2.0-beta.1

Kijk alleen naar de json file, vergeet de twee zipfiles van januari.
Dit loopt op dit moment bij mij thuis. (Wat zaken even weggelaten uiteraard en dummy debugs neergezet, maar werkt toch al aardig.)
Pagina: 1 2 Laatste