Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Namron firekanals bryter - har jeg forstått virkningsmåten riktig?


Mastiff

Anbefalte innlegg

Jeg har tenkt å ha en sånn Namron-bryter på hytta:

 

4512714.jpg.a1e81b482a62db88a11035562c9ea81c.jpg

 

Den skal ta seg av dimming av ett lys og av/på for to til, pluss den øverste knappen for å slå på alt samtidig, gjennom Home Assistant. Men jeg vil bare sjekke at jeg har forstå dette med grupper riktig. Av/på er greit nok, da er det jo bare å assosisere bryterne kommandoer i Hass (jeg har allerede montert Nexa av/på i de lysene og gidder ikke bytte, de funker helt stabilt).

 

Men så er det dimmingen. Bryterens funksjon skal være sånn at når man holder inne 1 så blir lyset gradvis sterkere til man slipper den. Når man holder inne 0, blir lyset gradvis dimmet ned til man slipper bryteren. Men gjelder det også når både Fibaro Dimmer 2 og denne bryteren er koblet til en sentral hub, i dette tilfellet Hass? Sånn at man bare assosierer dem ved hverandre i "Node group associations", og dermed styrer bryteren dimmeren på den måten?

Endret av Mastiff
Lenke til kommentar
Del på andre sider

Veldig bra, takk! Da bestiller jeg to sånne, for å ha dem til å styre både stua og kjøkkenet. Og Zigbee holder jeg meg unna, jeg bruker bare Z-Wave og 433mHz. Alt går via Norde-RED for 433mHz og Hass for Z-Wave. Mens de større skriptene kjører på en virtuell server med Girder og EventGhost. Alt henger sammen med MQTT. ;)

 

Edit: Jeg ser at det er samme pris på to- og firekanals. Så da kjøper jeg to firekanals. Det er egentlig snakk om et allrom i hytta, med kjøkken, spisebord og et par lenestoler i den ene 2/3 og stue med sofa, tv og hjemmekino (JVC-prosjektør og lerret på ca. 225 cm bredde) i den andre 1/3. Siden jeg bare har to lys å styre i stuedelen, kan jeg bruke de to gjenværende knapperekkene til å slå på alle lysene i begge delene og kanskje til å kjøre gardinene opp og ned (RollerTrol, noen er byttet etter gruppekjøpet for 5-6 år siden). Det er neppe noen ulempe å ha for mange knapper! ;) 

 

Edit 2: Sånn, bestilt fra Elektroimportøren. De påstår den skal være i Post i butikk på tirsdag. Vi får se på det. Kan jo håpe! 10 % rabatt for å bli med i den etter hvert så vanlige kundeklubben. Jeg får bare sperre for SMS, jeg hater å få det.  Det er bare moren min som fremdeles sender meg SMS, resten er reklame!

 

Endret av Mastiff
Lenke til kommentar
Del på andre sider

Hei.

Jeg også har en sånn bryter, men det viser seg at det er Zigbee-versjonen. Jeg prøvde først å koble den opp vha. DeconZ i Home Assistant, men da viste den kun 1 ting, og det var batteristatus.

Jeg endte opp med å bruke zigbee2mqtt istedet, og da gir den meg 5 payloads (states?) for hver knapp:

 

- on_l3 - Kort trykk på på-knappen

- off_l3 - Kort trykk  på av-knappen
- brightness_move_up_l3 - Langt trykk på på-knappen

- brightness_move_down_l3 - Langt trykk på av-knappen

- brightness_stop_l3 - denne kommer når man slipper knappen etter et langt trykk. Gjelder både av- og påknappen

 

Så jeg laget meg en liten automasjon i Node-Red.

Av og på gikk helt greit.

Men når det gjelder dimming, sliter jeg.

Jeg har prøvd å bruke en looptimer for å justere dimmingen opp og ned, men det fungerer heller dårlig. Den utfører jobben, men det visuelle feedbacken stemmer overhodet ikke med knappetrykkene. Og er jeg litt for ivrig å holde inne knappen, dukker det opp API-error i loggene.

 

Jeg tenkte kanskje at det er best å lage noe ala et do while eller do until-script der lyset blir dimmet opp og ned så lenge den mottar payloaden brightness_move_up helt til den mottar brightness_stop-beskjeden

 

Men jeg har dessverre ikke programmeringskunnskaper til å gjøre dette.

 

Og siden du nevner Node-Red tenkte jeg kanskje du vil møte samme situasjon, selv om databæreren er en annen.

 

Sånn helt til slutt: Hvorfor holder du deg unna Zigbee? Jeg er fersk på området, men er det ikke slik at det er Zigbee det blir satset mest på fremover? Bl.a. Google og Apple har vel gått inn på et samarbeid for å drive Zigbee fremover?

 

Hadde jeg fått en annen funksjonalitet hvis jeg hadde Z-wave versjonen av denne bryteren?

 

Jeg legger ved en link til Node-RED flowen slik den står i dag: https://pastebin.com/MqY5T6UQ

 

Takker.

Endret av Dal
Lenke til kommentar
Del på andre sider

13 minutter siden, Dal skrev:

Hadde jeg fått en annen funksjonalitet hvis jeg hadde Z-wave versjonen av denne bryteren?

Ja og nei.

 

Hvis det du skal styre er en annen Z-wave dimmer, så er det betydelig enklere å ha Z-wave-versjonen. Da bruker du direkte assosiasjon, og kan dimme opp og ned uten problemer med å holde knappen inne. Ingen programmering nødvendig.

Lenke til kommentar
Del på andre sider

Den var ikke så lett som jeg trodde. ;) Den kommer opp som "zwave.unknown_id_0438_unknown_type_0300_id_a305". jeg har lagt det inn i en tråd om bryteren, det er nok som med ID Lock, at det bare trengs den riktige koden i XML-fila. Forresten, er det jeg som begynner å bli gammel, eller var det virkelig liten skrift i denne bruksanvisningen? 🤓 Og nei, jeg bruker ikke hansker av størrelse 4...

 

124890380_366112697826503_2648270593365095791_n.jpg?_nc_cat=110&ccb=2&_nc_sid=ae9488&_nc_ohc=gRBItzo2j2AAX-II9rH&_nc_ht=scontent.fsvg2-1.fna&tp=6&oh=47b43d125eeecbca746843af283eb441&oe=5FD1E53B

Lenke til kommentar
Del på andre sider

Det er den tråden jeg har lagt inn spørsmålet i. ;) Det er flere løsninger, men ingen av dem fikk den opp som ukjent enhet. Det kan være at det har med forskjellige versjoner av Hass å gjøre, eller noe sånt. Jeg har ikke kommet over siste versjon, fordi det er så mange endringer innenfor blant annet termostater at det vil ta meg ganske mange timer å endre de digre automasjonene mine.

Endret av Mastiff
Lenke til kommentar
Del på andre sider

Da fikk jeg XML-en, men den har bare vært brukt som scener, og jeg får bare opp Scene 1-8, ikke noe om Scene 1 av og på. I tillegg klarer jeg ikke å dimme direkte. Og enda verre: Jeg får ikke bort assosiasjonen med gruppe 2 som jeg la inn ved et uhell. Den gjør at begge dimmerne slår seg på og av med knapp 1 (og jeg har slått av all on/all off, så det er ikke 255). Dette ble mer vrient enn jeg trodde. Kanskje jeg må ha ett sett knapper for av og på og så knappene under for å dimme 20 % opp eller ned for hvert trykk, iallfall inntil videre. Fruen kommer utover i morgen ettermiddag, og da bør alt om ikke være ferdig, så iallfall fungere så hun kan slå av og på lyset... 😁

Lenke til kommentar
Del på andre sider

Jeg sliter også med å få til dimmefunksjonen på denne bryteren.

Jeg fant et glimrende script her: https://marknygaard.dk/blog/2020/03/hue-dimmer-script-in-node-red/

som jeg har modifisert. Men loopen som skal dimme kontinuerlig fungerer ikke. Og jeg klarer ikke å se hvorfor.

Kanskje noen av dere som er flinkere i programmering enn meg ser det umiddelbart.

Her er min Node-RED flow slik den står nå:

[{"id":"d5257804.c57068","type":"tab","label":"Flow 1","disabled":false,"info":""},{"id":"a1d86f20.07bc9","type":"server-state-changed","z":"d5257804.c57068","d":true,"name":"Lysbryter - TV-krok","server":"c20c4f32.3a7de","version":1,"exposeToHomeAssistant":false,"haConfig":[{"property":"name","value":""},{"property":"icon","value":""}],"entityidfilter":"sensor.namron_lysbryter_stue_action","entityidfiltertype":"exact","outputinitially":false,"state_type":"str","haltifstate":"","halt_if_type":"str","halt_if_compare":"is","outputs":1,"output_only_on_state_change":true,"for":0,"forType":"num","forUnits":"minutes","ignorePrevStateNull":false,"ignorePrevStateUnknown":false,"ignorePrevStateUnavailable":false,"ignoreCurrentStateUnknown":false,"ignoreCurrentStateUnavailable":false,"x":970,"y":640,"wires":[["21a46ffb.e33998"]]},{"id":"fa69cafa.52b978","type":"api-call-service","z":"d5257804.c57068","name":"Lys - TV-krok","server":"c20c4f32.3a7de","version":1,"debugenabled":false,"service_domain":"","service":"","entityId":"","data":"","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":1750,"y":640,"wires":[[]]},{"id":"bcb896b1.4765a8","type":"mqtt in","z":"d5257804.c57068","name":"Lysbryter - TV-krok - MQTT","topic":"zigbee2mqtt/Namron - Lysbryter - Stue/action","qos":"0","datatype":"utf8","broker":"3d06dee0.f98b0a","x":980,"y":540,"wires":[["21a46ffb.e33998"]]},{"id":"21a46ffb.e33998","type":"function","z":"d5257804.c57068","name":"Dimming","func":"var entity = 'light.tv_krok_spot_oystein';\nvar interval = 10;\n/*\nfunction name(parameter1, parameter2, parameter3) {\n  // code to be executed\n}\n*/\n\nconst globalHomeAssistant = global.get('homeassistant');\nvar brightness = globalHomeAssistant.homeAssistant.states[entity].attributes.brightness || 0;\nvar state = globalHomeAssistant.homeAssistant.states[entity].state;\nvar delay = 500;\nflow.set('press', false);\n\nif (!msg.payload.hasOwnProperty('action')) msg.payload.action = \"\";\nvar newMsg = { payload: {} };\n\nif ( msg.payload == \"on_l3\" ) {\n    if ( state == \"on\" && brightness > 0 ) {\n        newMsg.payload = {\n            domain: 'light',\n            service: 'turn_on',\n            data: { entity_id: entity, brightness: 255, transition: 1 }\n        }; \n    } else {\n        newMsg.payload = {\n            domain: 'light',\n            service: 'turn_on',\n            data: { entity_id: entity }\n        };\n    }\n}\n\nif ( msg.payload == \"brightness_move_up_l3\" ) {\n    flow.set('press', true);\n        if ( brightness < 255 ) {\n            newMsg.payload = {\n                domain: 'light',\n                service: 'turn_on',\n                data: { entity_id: entity, brightness: brightness + interval, transition: 1 }\n            };\n        } else { \n            flow.set('press', false);\n            return null\n        }\n}\n\nif ( msg.payload == \"brightness_move_down_l3\" ) {\n    flow.set('press', true);\n    if ( brightness > 0 ) {\n        newMsg.payload = {\n            domain: 'light',\n            service: 'turn_on',\n            data: { entity_id: entity, brightness: brightness - interval, transition: 1 }\n        };\n    } else {\n        flow.set('press', false);\n        return null\n    }\n}\n\nif ( msg.payload == \"brightness_stop_l3\" ) {\n    flow.set('press', false)\n    return null;\n}\n\nif ( msg.payload == \"brightness_stop_l3\" ) {\n    flow.set('press', false)\n    if ( brightness <= 0 ) {\n        newMsg.payload = {\n            domain: 'light',\n            service: 'turn_off',\n            data: { entity_id: entity }\n        };\n    } else {\n        return null;\n    }\n}\n\nif ( msg.payload == \"off_l3\" ) {\n    newMsg.payload = {\n        domain: 'light',\n        service: 'turn_off',\n        data: { entity_id: entity }\n        \n    };\n}\n\nif ( msg.payload === \"\" ) {\n    return null;\n}\n\nreturn [newMsg, msg]","outputs":2,"noerr":0,"initialize":"","finalize":"","x":1420,"y":640,"wires":[["fa69cafa.52b978"],["c47689ea.546c3"]]},{"id":"fdf500e0.18291","type":"switch","z":"d5257804.c57068","name":"Control loop","property":"press","propertyType":"flow","rules":[{"t":"eq","v":"true","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":1510,"y":820,"wires":[["21a46ffb.e33998","9cad79a4.d58ad8"]]},{"id":"c47689ea.546c3","type":"delay","z":"d5257804.c57068","name":"Delay","pauseType":"delay","timeout":"500","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":1350,"y":820,"wires":[["fdf500e0.18291"]]},{"id":"9cad79a4.d58ad8","type":"debug","z":"d5257804.c57068","name":"Debug","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1870,"y":820,"wires":[]},{"id":"c20c4f32.3a7de","type":"server","name":"Home Assistant","addon":true},{"id":"3d06dee0.f98b0a","type":"mqtt-broker","name":"localhost","broker":"mqtt://core-mosquitto","port":"1883","tls":"","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""}]

 

Lenke til kommentar
Del på andre sider

  • 4 uker senere...
On 15/11/2020 at 14:02, Mastiff said:

Jeg fikk det til etter å ha nullstilt bryteren og assosiert med gruppe på nytt. Nå funker alle.

Heisann! Da er det min tur å spørre deg om hjelp :) 

 

Jeg får ikke denne til å assossissiere (julereferanse :) ), det vil si at den lagrer det, men ingenting skjer når jeg trykker på knappene, og lurer på om det kan ha noe med den berømte xml'en å gjøre. Måtte du gjøre noe med xml'en for å få det til å fungere? Har du i så fall mulighet til å dele kode?

  • Haha 1
Lenke til kommentar
Del på andre sider

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.