Update Februari 2025
KQL en Tracked Properties
De tracked properties in logic apps zijn fantastisch voor het loggen en bijhouden van relevante gegevens voor functioneel beheer om te tonen in workbooks. Het kan nog wel wat gedoe zijn om alle tracked properties op naam te tonen waar ieder in een eigen kolom staat. Met onderstaande query is het mogelijk om iedere tracked property zijn eigen kolom te geven zonder dat de properties op naam bekend moeten zijn bij het schrijven van de query.
let trackedProps = requests
| where cloud_RoleName =~ LogicApp
| extend category = tostring(customDimensions["Category"])
| where category == "Workflow.Operations.Actions" and operation_Name=~ WorkflowName
| extend actionType=customDimensions["actionType"], trackedProperties=customDimensions["trackedProperties"]
| where not(isnull(trackedProperties) or trackedProperties=='""')
| extend tp = parse_json(tostring(trackedProperties))
| where tp <> ""
| mv-apply tp on(
extend key = tostring(bag_keys(tp)[0])
| project key, value = tp[key])
| mv-expand value
;
let newcolProperties = trackedProps
| evaluate pivot(key, any(value))
;
Homelab
Oplaadpalen sensor in HomeAssistant
Een van mijn volgende projecten is het tonen van de status van de oplaadpalen in de buurt in HomeAssistant zodat ik in de gaten kan houden als ze beschikbaar zijn om mijn auto op te kunnen laden. Dat is helaas nog niet gelukt.
De site oplaadpalen.nl gebruikt iedere dag een nieuwe external_reference dus het ophalen van de status van de oplaadpalen moet in twee stappen. Eerst de external reference bepalen op basis van locatie en dan de status van de laadpalen.
In Home Assistant kan je een nieuwe sensor op basis van een rest aanroep aanmaken, maar de output hiervan vervolgens hergebruiken bij een andere sensor is me nog niet gelukt.
sensor:
- platform: rest
name: Laadpalen Kopenhagen9 external Reference attr
resource: "https://www.oplaadpalen.nl/wms?REQUEST=GetFeatureInfo&SERVICE=WMS&SRS=EPSG%3A4326&VERSION=1.1.1&INFO_FORMAT=application%2Fjson&BBOX=4.506036043167115%2C51.849193702528545%2C4.512140750885011%2C51.85193080189687&HEIGHT=826&WIDTH=1138&LAYERS=eco%3Arta_and_clusters&QUERY_LAYERS=eco%3Arta_and_clusters&X=569&Y=393"
method: GET
value_template: "OK"
json_attributes_path: $.features[0].properties
json_attributes:
- external_reference
scan_interval: 3600
unit_of_measurement: ""
- platform: rest
name: Laadpalen Kopenhagen9 attr
resource: "https://oplaadpalen.nl/api/map/location/{{ state_attr('sensor.laadpalen_kopenhagen9_external_reference_attr', 'external_reference') }}"
value_template: >
{% set statuses = value_json.data.evses | groupby('status') %}
{%- for status, items in statuses -%}
{{ status }}: {{ items | map(attribute='connectors') | map('length') | sum }}
{%- if not loop.last %}, {% endif %}
{%- endfor -%}
scan_interval: 360