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

SaGe

Medlemmer
  • Innlegg

    9
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    3

Alt skrevet av SaGe

  1. Jeg bruker flere av disse: https://www.kjell.com/no/produkter/smarte-hjem/fjernkontroller/smarte-dimmerer/sunricher-smart-zigbee-dimmer-p51595 Bruker da vanlige dimbare pærer uten zigbee. Synes det er mye mer stabilt enn å ha zigbee i alle pærer. Er veldig fornøyd med løsningen.
  2. Det er riktig at verdiene er "ok". Selve verdiene fra skyen ligger i attributes. Jeg har brukt template sensorer for å få disse attributes som verdier om ønsket. template: - sensor: - name: "Powermode Waterheater" unique_id: powermode waterheater state: > {% if state_attr('sensor.myuplink_powermode_waterheater', 'value') == 3 %} 3000 {% elif state_attr('sensor.myuplink_powermode_waterheater', 'value') == 1 %} 1250 {% elif state_attr('sensor.myuplink_powermode_waterheater', 'value') == 2 %} 1750 {% else %} 0 {% endif %} unit_of_measurement: "W" - trigger: - platform: time_pattern hours: '*' minutes: '*' seconds: 1 - sensor: - name: "Power Waterheater" unique_id: power_waterheater state: "{{ state_attr('sensor.myuplink_power_waterheater', 'value') }}" unit_of_measurement: "W" Disse to template sensorer tar verdiene fra attributes og bruker de som "hovedverdi". Den første ser på powermode av varmtvannsberederen. 3 betyr 3000W effekt, 2 betyr 1750 og 1 betyr 1250. Siste sensor oppdaterer seg hvert sekund (det er triggeren) og sjekker om attribute på aktuell strømbruk har endret seg. Den viser da alltid hvor mange W berederen bruker akkurat nå. Håper det hjelper. 🙂
  3. SaGe

    Styring av varmeovner

    Jeg hadde investert i en zigbee usb plug og brukt Zigbee2Mqtt addonen. Jeg styrer alt fra Ikea, Aqara osv med en sånn og det funker utmerket. PerH sin løsning med generic thermostat tenker jeg er best.
  4. Filene er yaml filer. Alt som jeg skrev om, kan egentlig limes inn i configuration.yaml filen. Det er imidlertid mye ryddigere å bruke packages. Da deler du opp på en måte opp configuration.yaml filen i flere filer. Jeg har feks en fil som heter varmtvann.yaml hvor alt ligger som gjelder varmtvannsberederen. Se her for mer info: https://www.home-assistant.io/docs/configuration/packages/
  5. Ja, det kan jeg 🙂 Først må man logge seg inn på dev.myuplink.com. Så velger man Documentation-Swagger. Man må så autorisere tilgangen med Authorize og skriver inn client_id og client_secret. Så velger man både READSYSTEM og WRITESYSTEM. Gå så helt ned til Systems og klikk på GET /v2/systems/me Get user systems. Så klikker du på Try it out og Execute. Man får så en slik response: { "page": 1, "itemsPerPage": 10, "numItems": 1, "systems": [ { "systemId": "xxxxxxxxxxxxxxxxxxxxxxxxx", "name": "xxx", "securityLevel": "admin", "hasAlarm": false, "country": "Norway", "devices": [ { "id": "HOIAX_98++++", "connectionState": "Connected", "currentFwVersion": "1.6.6", "product": { "serialNumber": "xxxxxx", "name": "xxxxx" } } ] } ] } DeviceID er den med HOIAX_. Så gjør du det samme med DevicePoints i Swagger. Bruk GET /v2/devices/{deviceId}/points Get data points for device. Try it out og lim inn device_id. Man får så en slik response: [ { "category": "xxx", "parameterId": "100", "parameterName": "Expected ambient temperature", "parameterUnit": "°C", "writable": true, "timestamp": "2023-01-31T11:51:38+00:00", "value": 20, "strVal": "20°C", "smartHomeCategories": [], "minValue": 1000, "maxValue": 3500, "enumValues": [], "scaleValue": "0.01", "zoneId": null }, { "category": "xx", "parameterId": "101", "parameterName": "Expected inlet water temperature", "parameterUnit": "°C", "writable": true, "timestamp": "2023-01-31T11:51:38+00:00", "value": 5, "strVal": "5°C", "smartHomeCategories": [], "minValue": 400, "maxValue": 2000, "enumValues": [], "scaleValue": "0.01", "zoneId": null }, { "category": "xx", "parameterId": "102", "parameterName": "Default eco setpoint", "parameterUnit": "°C", "writable": false, "timestamp": "2023-01-31T11:51:38+00:00", "value": 56, "strVal": "56°C", "smartHomeCategories": [], "minValue": null, "maxValue": null, "enumValues": [], "scaleValue": "0.01", "zoneId": null }, { Svaret er mye lengre enn det jeg har limt inn her. parameterId er det du bruker i HomeAssistant (Se min første post). Hvis det er "writeable", kan du også endre ting med en rest_command.
  6. Tenkte å dele hvordan jeg har integrert vår Høiax Connected varmtvannsbereder i Home Assistant. Det er dessverre ikke lokalt, men går gjennom skyen (myuplink). Vi har en 300 liter bereder som har to varmelementer (1750W og 1250W). Det er mulig å redusere effekten eller slå av varmtvannsberederen dersom man ser at man kommer over grensen for neste nettleietrinn. Det krever selvføgelig at man har en amsmåler. Det er også mulig å integrere berederen i Energy dashboard osv. Jeg har integrert berederen gjennom restful integrasjonen i Home Assistant. For å kunne bruke myuplink APIen trenger man en token. Den er gyldig i 1 time. For å få den må man autorisere seg med client_id og client_secret. Disse får man ved å registrere seg på dev.myuplink.com. Der setter man opp en application. Sensoren som oppdaterer token ser slik ut: sensor: - platform: rest name: myuplink_token resource: https://api.myuplink.com/oauth/token method: POST headers: Content-Type: application/x-www-form-urlencoded payload: grant_type=client_credentials&client_id=[client_id]&client_secret=[client_secret] scan_interval: 1800 json_attributes: - access_token - token_type #optional - expires_in #optional value_template: "ok" Token er en attribute fordi den er for lang til å være en vanlig value. Info fra varmtvannsberederen får man slik: rest: - scan_interval: 30 method: GET resource: https://api.myuplink.com/v2/devices/[device_id]/points headers: Authorization: > Bearer {{ states.sensor.myuplink_token.attributes["access_token"] }} sensor: - name: " Myuplink Power Waterheater" unique_id: "myuplink_power_waterheater" json_attributes_path: "$.[?(@.parameterId=='400')]" value_template: "OK" json_attributes: - value - name: "Myuplink Fill level Waterheater" unique_id: "myuplink_fill_level_waterheater" json_attributes_path: "$.[?(@.parameterId=='404')]" value_template: "OK" json_attributes: - value - name: "Myuplink Element 1 Status Waterheater" unique_id: "myuplink_element_1_status_waterheater" json_attributes_path: "$.[?(@.parameterId=='506')]" value_template: "OK" json_attributes: - value - name: "Myuplink Element 2 Status Waterheater" unique_id: "myuplink_element_2_status_waterheater" json_attributes_path: "$.[?(@.parameterId=='505')]" value_template: "OK" json_attributes: - value - name: "Myuplink Powermode Waterheater" unique_id: "myuplink_powermode_waterheater" json_attributes_path: "$.[?(@.parameterId=='517')]" value_template: "OK" json_attributes: - value - name: "Myuplink Setpoint Waterheater" unique_id: "myuplink_setpoint_waterheater" json_attributes_path: "$.[?(@.parameterId=='527')]" value_template: "OK" json_attributes: - value - name: "Myuplink Temperature Waterheater" unique_id: "myuplink_temperature_waterheater" json_attributes_path: "$.[?(@.parameterId=='528')]" value_template: "OK" json_attributes: - value - name: "Myuplink number expensive hours Waterheater" unique_id: "myuplink_expensive_hours_waterheater" json_attributes_path: "$.[?(@.parameterId=='545')]" value_template: "OK" json_attributes: - value - name: "Myuplink number cheap hours Waterheater" unique_id: "myuplink_cheap_hours_waterheater" json_attributes_path: "$.[?(@.parameterId=='547')]" value_template: "OK" json_attributes: - value Device_ID og de ulike parameterid kan man lett få ved å logge inn på dev.myuplink.com velge Documentation og Swagger. Så klikker dere på Authorize og bruker client_id og client_secret. Da kan man teste APIen og se hele JSON svaret fra APIen på alt som er mulig med APIen. Det er mange flere sensorer som kan settes opp. Jeg har så laget en rest_command som styrer hvilke elementer som er på i berederen. Da kan man velge å kun varme med 1250W eller 1750W når strømforbruket i huset er høy. Den ser sånn ut: rest_command: waterheater_powermode_change: url: https://api.myuplink.com/v2/devices/[device_id]/points method: patch headers: Authorization: > Bearer {{ states.sensor.myuplink_token.attributes["access_token"] }} content_type: "application/json-patch+json" payload: > {% if states('input_select.waterheater_powermode') == "3000W" %} { "517": "3", } {% elif states('input_select.waterheater_powermode') == "1250W" %} { "517": "1", } {% elif states('input_select.waterheater_powermode') == "1750W" %} { "517": "2", } {% else %} { "517": "3", } {% endif %} Samme metode kan brukes til å endre temperaturinnstilling, bytte mellom ulike modus, endre antall dyre timer osv. Håper dette kan hjelpe noen.
  7. Ser nå at dette ikke funker hvis det er flere rutenr. som går fra holdeplassen. Da viser sensoren kun neste buss, uansett rutenr. Jeg fikset det slik for Fyllingsdalsveien hvor jeg ønsker neste 50E buss: - platform: rest resource: https://skyss.giantleap.no/public/departures?Hours=12&StopIdentifiers=12012101 name: skyss50E_1 value_template: > {% if value_json["PassingTimes"][0]["RoutePublicIdentifier"] == '50E' %} {{ value_json["PassingTimes"][0]["DisplayTime"] }} {% elif value_json["PassingTimes"][1]["RoutePublicIdentifier"] == '50E' %} {{ value_json["PassingTimes"][1]["DisplayTime"] }} {% elif value_json["PassingTimes"][2]["RoutePublicIdentifier"] == '50E' %} {{ value_json["PassingTimes"][2]["DisplayTime"] }} {% elif value_json["PassingTimes"][3]["RoutePublicIdentifier"] == '50E' %} {{ value_json["PassingTimes"][3]["DisplayTime"] }} {% elif value_json["PassingTimes"][4]["RoutePublicIdentifier"] == '50E' %} {{ value_json["PassingTimes"][4]["DisplayTime"] }} {% else %} No bus {% endif %} Jeg fikk også beskjed om at man kunne bruke en commandline sensor. Men det har jeg ikke fått til ennå. Ifølge en som hjalp meg på Home Assistant forumet skal det være noe slikt: platform: command_line command: curl ... | jq '.PassingTimes|map(select(.RoutePublicIdentifier == "50E"))|.[0]'
  8. Kjekt å se at tipset mitt hjalp noen ? Jeg har kjøpt meg noen Google Home i USA og også klart å få tidene som svar på Google Home. Kanskje nyttig siden Google Home nå lanseres i Norge. Jeg brukte en IFTTT trigger som sender en http post request med webhooks til Hassio for å starte en script som så sender enn tts til Google Home. Ulempen er at man ikke kun kan sende til den Google Home man har spurt og at musikk avbrytes (og ikke startes igjen) når det kommer en tts fra Hassio. Jeg bare sender alt til Google Home høytaleren som står i gangen siden det er der jeg oftest trenger svaret. Ganske nyttig når man ofte er sent ute ?
  9. Tenkte kanskje noen her ville like dette. Kan ikke se at noen har postet dette før. Jeg så at skyss tilbyr muligheten til å lage en egen avgansskjerm. Har kan man selv velge hvilke holdeplasser, hvilke busser og hvilken retning som skal vises. https://www.skyss.no/Verdt-a-vite/din-avgangsvisning/ Jeg laget min egen avgangsskjerm og fant ut at neste avgang kan tas inn som sensor i homeassistant. Her er en test screen: https://avgangsvisning.skyss.no/board/#/?stops=12010023&viewFreq=10000&terminal=true&colors=dark&name=Test1 Når man velger Inspect i Chrome finner man kilden til visningen som for denne test visningen er: https://skyss.giantleap.no/public/departures?Hours=12&StopIdentifiers=12010023&callback=angular.callbacks._1 Så fjerner man alt fra og med &callback https://skyss.giantleap.no/public/departures?Hours=1&StopIdentifiers=12010023 Man får da en JSON som kan brukes i en Rest sensor i home assistant. - platform: rest resource: https://skyss.giantleap.no/public/departures?Hours=1&StopIdentifiers=12010023 name: skysstest value_template: '{{ value_json["PassingTimes"][0]["DisplayTime"] }}' Bytter man ut [0] med [1] får man avgangen etter neste avgang.
×
×
  • 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.