Compare commits

...

9 Commits

Author SHA1 Message Date
3aa2abc0ae vault backup: 2026-03-30 18:45:34
Affected files:
.obsidian/workspace.json
8 Places/BusinessesDrawing 2023-10-12 16.01.52.excalidraw.md
2026-03-30 18:45:34 +02:00
6af7c7e720 vault backup: 2026-03-26 00:09:55
Affected files:
2 Personal/Lists/Business Ideas.md
2026-03-26 00:09:55 +01:00
e56528b7b3 vault backup: 2026-03-25 23:46:41
Affected files:
.obsidian/workspace.json
0 Journal/0 Daily/2026-03-20.md
2026-03-25 23:46:42 +01:00
1ed975513a vault backup: 2026-03-18 20:02:56
Affected files:
.obsidian/workspace.json
.obsidian_iphone/workspace-mobile.json
0 Journal/0 Daily/2026-03-18.md
2026-03-18 20:02:56 +01:00
5a426919d7 vault backup: 2026-03-17 16:15:43
Affected files:
.obsidian/workspace.json
2 Personal/Home Lab/Baerhalten/Home Assistant.md
Attachments/ESPSomfyRTS 2026-03-17T16_05_06.backup
2026-03-17 16:15:43 +01:00
232b4b9f32 vault backup: 2026-03-17 15:03:57
Affected files:
.obsidian/workspace.json
2 Personal/Home Lab/Baerhalten/Home Assistant -> InfluxDB -> Grafana setup and debugging notes.md
2 Personal/Home Lab/Baerhalten/Home Assistant.md
2026-03-17 15:03:57 +01:00
4482f6921e vault backup: 2026-03-17 13:29:38
Affected files:
2 Personal/Home Lab/Baerhalten/Home Assistant.md
2026-03-17 13:29:38 +01:00
34a3dc17b2 vault backup: 2026-03-17 12:50:12
Affected files:
.obsidian/workspace.json
2 Personal/Home Lab/Baerhalten/Home Assistant.md
2026-03-17 12:50:12 +01:00
dd8e2ff9d5 vault backup: 2026-03-17 12:37:47
Affected files:
.obsidian/workspace.json
.obsidian_iphone/plugins/obsidian-spaced-repetition/data.json
.obsidian_iphone/workspace-mobile.json
2026-03-17 12:37:47 +01:00
10 changed files with 610 additions and 605 deletions

View File

@@ -91,32 +91,18 @@
"title": "2026-01-07"
}
},
{
"id": "b948e87b03ca1ad1",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2 Personal/Home Lab/Baerhalten/Home Assistant.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Home Assistant"
}
},
{
"id": "f33efed5601c1085",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2 Personal/Home Lab/Homelab.md",
"file": "2 Personal/Home Lab/NAS/Virtual Machine Hosting.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Homelab"
"title": "Virtual Machine Hosting"
}
},
{
@@ -161,6 +147,20 @@
"title": "Business Ideas"
}
},
{
"id": "b948e87b03ca1ad1",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "2 Personal/Home Lab/Baerhalten/Home Assistant.md",
"mode": "source",
"source": false
},
"icon": "lucide-file",
"title": "Home Assistant"
}
},
{
"id": "fac43a56fe618e9d",
"type": "leaf",
@@ -176,7 +176,7 @@
}
}
],
"currentTab": 10
"currentTab": 6
}
],
"direction": "vertical"
@@ -481,7 +481,7 @@
],
"direction": "vertical",
"x": 0,
"y": 42,
"y": 57,
"width": 900,
"height": 777,
"maximize": false,
@@ -489,10 +489,24 @@
}
]
},
"active": "6914f148f736c4ac",
"active": "f33efed5601c1085",
"lastOpenFiles": [
"2 Personal/Home Lab/NextiShareBot.md",
"2 Personal/Home Lab/NAS/Maintenance Plan.md",
"2 Personal/Home Lab/NAS/Photo Apps.md",
"2 Personal/Home Lab/MAC/Software Management on MacOS.md",
"Dashboard Canvas.canvas",
"Dashboard.md",
"8 Places/BusinessesDrawing 2023-10-12 16.01.52.excalidraw.md",
"2 Personal/Wohnen/Rezepte/Ideen für Vorratskammer.md",
"2 Personal/Wohnen/Pflanzen.md",
"2 Personal/Wohnen/Einrichtungsideen.md",
"2 Personal/Home Lab/Homelab.md",
"2 Personal/Lists/Business Ideas.md",
"2 Personal/Home Lab/NextiShareBot.md",
"0 Journal/0 Daily/2026-03-18.md",
"2 Personal/Home Lab/Baerhalten/Home Assistant.md",
"Attachments/ESPSomfyRTS 2026-03-17T16_05_06.backup",
"2 Personal/Home Lab/Baerhalten/Home Assistant -> InfluxDB -> Grafana setup and debugging notes.md",
"0 Journal/0 Daily/2026-01-29.md",
"Temporary/Untitled 4.md",
"99 Work/Jobhunt/OneSec Experience on LinkedIn.md",
@@ -505,21 +519,9 @@
"Temporary/My Health Products.md",
"0 Journal/0 Daily/2026-01-28.md",
"2 Personal/Lists/Packlisten/Packliste - Skitour.md",
"0 Journal/0 Daily/2026-01-27.md",
"Temporary/Madgwick Filter.md",
"0 Journal/0 Daily/2026-01-24.md",
"Temporary/Ralph Wiggum Technique for AI Coding.md",
"2 Personal/Home Lab/NAS/Backup Strategy.md",
"0 Journal/0 Daily/2026-01-10.md",
"Temporary/Material Damping.md",
"Temporary/Friction Damping.md",
"Attachments/Pasted image 20260121121234.png",
"2 Personal/Home Lab/Homelab.md",
"2 Personal/Home Lab/Baerhalten/Home Assistant.md",
"2 Personal/Lists/Media/Bücher.md",
"Attachments/ESPSomfyRTS 2026-01-18T16_26_16.backup",
"Attachments/Pasted image 20260118150817.png",
"Temporary/Untitled 3.md",
"Attachments/Pasted image 20251202214228.png",
"2 Personal/1 Skills/AI",
"2 Personal/Home Lab/Baerhalten",
@@ -535,9 +537,7 @@
"99 Work/0 OneSec/OneSecNotes/10 Projects/TeensyFlightcontroller",
"Attachments/Pasted image 20250922115441.png",
"7 People/0_People.base",
"Attachments/Belts, Suspenders.mp3",
"Attachments/image 21.jpg",
"Dashboard Canvas.canvas",
"99 Work/0 OneSec/OneSecNotes/30 Engineering Skills/Computer Science/Untitled.canvas",
"8 Work/OneSecNotes/Temporary/Untitled.canvas"
]

View File

@@ -47,7 +47,7 @@
"maxLinkFactor": 1,
"showDebugMessages": false
},
"buryDate": "2026-03-05",
"buryDate": "2026-03-16",
"buryList": [],
"historyDeck": null
}

View File

@@ -1848,8 +1848,18 @@
"state": {
"type": "review-queue-list-view",
"state": {},
"icon": "SpacedRepIcon",
"title": "Notes Review Queue"
"icon": "lucide-ghost",
"title": "review-queue-list-view"
}
},
{
"id": "c2f4ad24032ae4c0",
"type": "leaf",
"state": {
"type": "review-queue-list-view",
"state": {},
"icon": "lucide-ghost",
"title": "review-queue-list-view"
}
}
],
@@ -1867,11 +1877,10 @@
"table-editor-obsidian:Advanced Tables Toolbar": false,
"obsidian-spaced-repetition:Review flashcards": false,
"omnisearch:Omnisearch": false,
"templater-obsidian:Templater": false,
"periodic-notes:Open today": false
"templater-obsidian:Templater": false
}
},
"active": "992ba06a004d0d26",
"active": "c2f4ad24032ae4c0",
"lastOpenFiles": [
"0 Journal/0 Daily/2026-02-08.md",
"99 Work/Jobhunt/OneSec Experience on LinkedIn.md",

View File

@@ -0,0 +1,28 @@
---
aliases:
Tags:
- daily
day_grade:
Dehnen:
Sport:
Ernährung:
---
# 2026-03-18
[[2026-03-17]] <--> [[2026-03-19]]
> [!quote] Real success is finding your lifework in the work that you love.
> — David McCullough
---
## Planning
___
## Reflection
___
## Notes
-

View File

@@ -0,0 +1,27 @@
---
aliases:
Tags:
- daily
day_grade:
Dehnen:
Sport:
Ernährung:
---
# <%tp.file.title%>
[[<%tp.date.now("YYYY-MM-DD",-1)%>]] <--> [[<%tp.date.now("YYYY-MM-DD",+1)%>]]
<%tp.web.daily_quote()%>
---
## Planning
___
## Reflection
___
## Notes
-

View File

@@ -0,0 +1,400 @@
---
title: Home Assistant -> InfluxDB -> Grafana setup and debugging notes
created_date: 2026-03-17
updated_date: 2026-03-17
aliases:
tags:
---
# Home Assistant -> InfluxDB -> Grafana setup and debugging notes
## Architecture
This setup has **three layers**:
1. **Home Assistant** generates state changes and sensor values.
2. **InfluxDB 3 Core** stores that time-series data.
3. **Grafana** reads from InfluxDB and visualizes it.
### Network layout
- **Home Assistant** runs outside the Docker Compose network.
- **InfluxDB** and **Grafana** run together in the same Docker Compose stack.
- Therefore:
- **Home Assistant -> InfluxDB** must use the **Proxmox container IP** and exposed port.
- **Grafana -> InfluxDB** should use the **Docker service name**.
## Actual endpoints
### Home Assistant -> InfluxDB
Home Assistant should connect to InfluxDB using:
- Protocol: `http`
- Host / URL: `192.168.194.120`
- Port: `8181`
- SSL verification: off
Reason: Home Assistant is outside the Docker network, so it cannot resolve `influxdb3`.
### Grafana -> InfluxDB
Grafana should connect to InfluxDB using:
- URL: `http://influxdb3:8181`
Reason: Grafana and InfluxDB are on the same Docker Compose network, so Docker DNS resolves `influxdb3`.
## Docker Compose setup
The relevant Compose structure is:
```yaml
services:
influxdb3:
image: influxdb:3-core
ports:
- "8181:8181"
grafana:
image: grafana/grafana:latest
depends_on:
- influxdb3
ports:
- "3000:3000"
```
This means:
- InfluxDB is reachable from outside Docker at `http://<proxmox-container-ip>:8181`
- InfluxDB is reachable from Grafana internally at `http://influxdb3:8181`
## Home Assistant InfluxDB configuration
### Important migration detail
Home Assistant is removing YAML-based InfluxDB **connection settings**.
So these connection keys should **not** stay in YAML:
- `api_version`
- `host`
- `port`
- `ssl`
- `verify_ssl`
- `ssl_ca_cert`
- `username`
- `password`
- `database`
- `token`
- `organization`
- `bucket`
- `path`
Those should be configured through **Devices & Services** in the Home Assistant UI.
### What can still stay in YAML
Behavior/settings like these can still stay in YAML:
- `measurement_attr`
- `default_measurement`
- `override_measurement`
- `include`
- `exclude`
- `tags`
- `tags_attributes`
## Final Home Assistant behavior setting
To get **one table per entity/sensor**, the key YAML setting is:
```yaml
influxdb:
measurement_attr: entity_id
```
Reason:
- Default behavior grouped data into tables like `W`, `Wh`, `V`, `%`
- That made many sensors appear "missing", because they were grouped by unit
- `measurement_attr: entity_id` changes that back to one measurement/table per entity, which is easier to use in Grafana
## InfluxDB concepts in this setup
### Databases
We used databases such as:
- `home`
- `homeassistant`
- `ha_fresh`
These are databases, not tables.
### Tables / measurements
Inside a database, tables are created automatically when data is written.
Examples after using `measurement_attr: entity_id`:
- `sensor.solarnet_power_photovoltaics`
- `sensor.solarnet_power_grid_export`
- `sensor.solarnet_power_load_consumed`
Examples from the old grouped schema:
- `W`
- `Wh`
- `V`
- `A`
## Tokens and authentication
### What is used where
- **Home Assistant** uses an InfluxDB token to write data
- **Grafana** uses an InfluxDB token to query data
- **Admin token** is used for CLI/database management
### Important note
Tokens and secrets that were exposed should be rotated.
## How we debugged the setup
## 1. Verified InfluxDB is running
We checked Docker:
```bash
docker ps
docker logs --since 0.5m influxdb3
```
This confirmed:
- Grafana container is running
- InfluxDB container is running
- InfluxDB is actively flushing writes
## 2. Verified databases exist
```bash
docker exec -it influxdb3 influxdb3 show databases --token "$INFLUX_ADMIN_TOKEN"
```
This showed databases like:
- `_internal`
- `home`
- `homeassistant`
- later `ha_fresh`
## 3. Verified Home Assistant can reach InfluxDB over the network
From Home Assistant shell:
```bash
curl http://192.168.194.120:8181/health
```
Response:
```text
{"error": "the request was not authenticated"}
```
This was **good** because it proved:
- DNS/IP was correct
- network path worked
- InfluxDB was reachable
- only authentication remained
## 4. Reconfigured Home Assistant in the UI
Home Assistant InfluxDB integration was configured in **Devices & Services** using:
- HTTP
- host/IP of Proxmox container
- port `8181`
- no SSL verification
- organization `dummy`
- bucket/database `ha_fresh` or similar
- token
## 5. Enabled debug logs in Home Assistant
We confirmed HA was writing by seeing log lines like:
```text
Wrote 8 events.
Wrote 10 events.
```
That proved:
- Home Assistant -> InfluxDB write path works
## 6. Verified writes actually landed in InfluxDB
We queried InfluxDB directly:
```bash
docker exec -it influxdb3 influxdb3 query --database ha_fresh --token "$INFLUX_ADMIN_TOKEN" 'SELECT * FROM "W" ORDER BY time DESC LIMIT 20'
```
This showed fresh rows from Home Assistant sensors, including:
- `pv_power`
- `solarnet_power_photovoltaics`
- `solarnet_power_load_consumed`
- `solarnet_power_grid_export`
That proved:
- Home Assistant -> InfluxDB works fully
- the issue was not ingestion
- the issue was schema / Grafana config
## 7. Verified Grafana container can reach InfluxDB
From inside the Grafana container, we tested:
```bash
curl -i http://influxdb3:8181/api/v3/query_sql -H "Authorization: Token YOUR_GRAFANA_TOKEN" -H "Content-Type: application/json" --data '{"db":"home","q":"SHOW TABLES"}'
```
This working proved:
- Docker networking is fine
- `influxdb3` resolves correctly
- Grafana-side token auth works
- the remaining problem was purely Grafana datasource configuration
## 8. Fixed Grafana datasource setup
### Correct Grafana datasource basics
- Query language: **SQL** or the desired mode
- URL: `http://influxdb3:8181`
- Database: the actual InfluxDB database in use
- Token: Grafana token
### Important TLS issue
Grafana originally failed with an error like:
```text
tls: first record does not look like a TLS handshake
```
That happened because Grafana tried TLS/FlightSQL behavior against a plain HTTP endpoint.
Fix:
- use the correct datasource mode
- use the right endpoint
- keep the connection consistent with the actual InfluxDB setup
## 9. Realized the schema had changed
Old schema assumption:
- one table per sensor
New schema that appeared initially:
- one table per **unit**, like `W`, `Wh`, `V`
That is why old queries stopped working.
Example old query:
```sql
SELECT mean("value")
FROM "sensor.solarnet_power_photovoltaics"
WHERE $timeFilter
GROUP BY time(5m) fill(none)
```
Equivalent query in the grouped-by-unit schema:
```sql
SELECT mean("value")
FROM "W"
WHERE
"entity_id" = 'solarnet_power_photovoltaics'
AND $timeFilter
GROUP BY time(5m) fill(none)
```
Then we changed HA back to per-entity measurements using:
```yaml
influxdb:
measurement_attr: entity_id
```
## 10. Reset the fresh database to keep it clean
After confirming the new schema worked, the goal was to keep only actually-used tables in the fresh DB.
General approach:
- delete or recreate `ha_fresh`
- reconnect HA to it
- let HA repopulate it with only actively written entities
That leaves a clean database without old junk.
## Final recommended setup
## Home Assistant
- Configure InfluxDB connection in the UI
- Keep only behavior options in YAML
- Use:
```yaml
influxdb:
measurement_attr: entity_id
```
if per-entity tables are desired
## InfluxDB
- Keep one clean database for HA data
- Use separate tokens for:
- admin
- Home Assistant
- Grafana
## Grafana
- Use datasource URL:
```text
http://influxdb3:8181
```
- Point it to the correct InfluxDB database
- Use the Grafana token
- Rebuild old queries if schema changed
## Quick troubleshooting checklist for the future
### If HA is not writing
1. Check HA logs for InfluxDB errors
2. Test connectivity from HA:
```bash
curl http://<influx-ip>:8181/health
```
3. Verify token / database / organization / bucket in HA UI
4. Query InfluxDB directly to see whether data is arriving
### If Grafana shows nothing
1. Verify datasource URL is `http://influxdb3:8181`
2. Test token from inside Grafana container
3. Confirm the right database is selected
4. Check whether schema is per-entity or grouped-by-unit
5. Rewrite queries accordingly
### If sensors seem missing
1. Check `SHOW TABLES`
2. Query likely shared tables like `W`, `Wh`, `V`
3. Check whether HA is grouping by unit instead of entity
4. Set:
```yaml
influxdb:
measurement_attr: entity_id
```
if one table per sensor is preferred

View File

@@ -28,9 +28,14 @@ can this be good:
[GitHub - jomjol/AI-on-the-edge-device: Easy to use device for connecting "old" measuring units (water, power, gas, ...) to the digital world](https://github.com/jomjol/AI-on-the-edge-device?tab=readme-ov-file#setup-%EF%B8%8F)
## Somfy
I used this tutorial: [Somfy Smart DIY \| Make Shades Smart With ESPSomfy-RTS - YouTube](https://www.youtube.com/watch?v=1acVJ0xWJgs)
The open memory function doesn't work (the auto button). For groups I just used the prog button on the back of the remote after clicking the open memory button and waiting (which doesn't do anything).
![[Pasted image 20260118150817.png]]
Backup:
![[ESPSomfyRTS 2026-01-18T16_26_16.backup]]
![[ESPSomfyRTS 2026-03-17T16_05_06.backup]]
### Home Assitant Integration
Followed this Video: [ESPSomfy Integration with Home Assistant - YouTube](https://www.youtube.com/watch?v=ikrQwPYGyeg&t=14s)
@@ -53,5 +58,14 @@ DB: homeassistant
user: homeassistant
pw: VYWPQuR5UWkqMNU
I put the tokens into chat gpt so they might be compromised. all Influx tokens (admin, grafana and homeassistant), Oauth client secret and Id (grafana)
### Tutorials
[INSANE STATISTICS In Home Assistant With Grafana! - TUTORIAL - YouTube](https://www.youtube.com/watch?v=rXF-LycbjoA)
## Backup
Ich hab ein Back-up User kreiert und einen geteilten Ordner auf der Nase bei meinen Eltern zu Hause. Home Assistant macht jeden Tag ein automatisches Back-up und behält dabei fünf Back-ups in Rotation. Die Verschlüsselung Schlüssel sind in meinem Lastpass.

View File

@@ -60,6 +60,8 @@ Diese Liste kann auch mit `#idea/startup` oder mit `#business-idea` ergänzt wer
- course website (maybe like aihero.dev?) but for apprenticeships: woodworking, metalworking, etc. when AI replaces all pc jobs people need something to do. --> create marketplace for teaching. Yes people can watch everything on youtube, but lets say here in switzerland you have a local youtuber that can easily organize workshops and book private lessons. --> much more personal.
- gamification of sofware development through agents[[]]
- CV curator: have a layout, have many bullets as master. Depending on the role select whatever bullets you want.
- Scuba dive: risk analysis of your dives. get direct feedback of your previous dive (red, orange or green smiley). Better planning tool for DCS (talked with [[Lukas Glaus]], he has a physics friend who is an absolute killer). Immediate suggestions on how to improve dive profile to reduce risk. Simple app good UI
- Skitouring app with crowd intelligence: upload pictures of conditions with geo data. Feedback system: feedback risk level of past tours given the avalanche risk and the route chosen (reduktions-methode)
## Medtech
- use differential cameras to visualize airflow to teach deaf people how the airflow is when speaking to learn it properly

View File

@@ -7,7 +7,9 @@ tags: [excalidraw]
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
# Text Elements
# Excalidraw Data
## Text Elements
PX4 Info Node ^SHjaC7GH
getCurrentPose ^bntLlwqf
@@ -40,572 +42,78 @@ MoveSmoothActionServer ^jNLQaaLq
MoveSmoothAction ^jLt0dnKk
# Embedded files
## Embedded Files
53a29778b62e67d5d6ee80cf34453e58bcb88187: [[Pasted Image 20231012160459_976.png]]
%%
# Drawing
```json
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.20",
"elements": [
{
"type": "rectangle",
"version": 70,
"versionNonce": 1706906056,
"isDeleted": false,
"id": "2x2FIJ03wD79stOrQPI2T",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 563.2296109199522,
"y": -641.5260467529299,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 664.8743286132816,
"height": 818.5408325195318,
"seed": 1357369544,
"groupIds": [
"eTVsuRlQRF9sgbnV876J0",
"lE9VKsMY2iriwU-c_Iog-"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [],
"updated": 1697119406023,
"link": null,
"locked": false
},
{
"type": "rectangle",
"version": 91,
"versionNonce": 1557106360,
"isDeleted": false,
"id": "wgrd0rloD6B_tv4cvqt1Q",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 658.3203702402645,
"y": -595.8825224970703,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 480.7786254882816,
"height": 60.85806274414085,
"seed": 1672494792,
"groupIds": [
"eTVsuRlQRF9sgbnV876J0",
"lE9VKsMY2iriwU-c_Iog-"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "SHjaC7GH"
}
],
"updated": 1697119406023,
"link": null,
"locked": false
},
{
"type": "text",
"version": 60,
"versionNonce": 1153423560,
"isDeleted": false,
"id": "SHjaC7GH",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 767.9396481943663,
"y": -587.9534911249999,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 261.5400695800781,
"height": 45,
"seed": 1070409160,
"groupIds": [
"eTVsuRlQRF9sgbnV876J0",
"lE9VKsMY2iriwU-c_Iog-"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697119406023,
"link": null,
"locked": false,
"fontSize": 36,
"fontFamily": 1,
"text": "PX4 Info Node",
"rawText": "PX4 Info Node",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "wgrd0rloD6B_tv4cvqt1Q",
"originalText": "PX4 Info Node",
"lineHeight": 1.25,
"baseline": 31
},
{
"id": "RRuBk1mpSeCly4Kvfa79J",
"type": "diamond",
"x": 556.250027179718,
"y": -474.53338623046875,
"width": 340.2777099609375,
"height": 94.3055419921875,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [
"lE9VKsMY2iriwU-c_Iog-"
],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 131086280,
"version": 102,
"versionNonce": 1247606712,
"isDeleted": false,
"boundElements": [
{
"type": "text",
"id": "bntLlwqf"
}
],
"updated": 1697119406023,
"link": null,
"locked": false
},
{
"id": "bntLlwqf",
"type": "text",
"x": 650.629536151886,
"y": -439.9570007324219,
"width": 151.3798370361328,
"height": 25,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [
"lE9VKsMY2iriwU-c_Iog-"
],
"frameId": null,
"roundness": null,
"seed": 1735610568,
"version": 73,
"versionNonce": 1339654088,
"isDeleted": false,
"boundElements": null,
"updated": 1697119406023,
"link": null,
"locked": false,
"text": "getCurrentPose",
"rawText": "getCurrentPose",
"fontSize": 20,
"fontFamily": 1,
"textAlign": "center",
"verticalAlign": "middle",
"baseline": 17,
"containerId": "RRuBk1mpSeCly4Kvfa79J",
"originalText": "getCurrentPose",
"lineHeight": 1.25
},
{
"type": "rectangle",
"version": 50,
"versionNonce": 1609226952,
"isDeleted": false,
"id": "4QXgkAkRFkLPAcD8t0Sgc",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -650.6871371269228,
"y": -597.4427185058596,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 664.8743286132816,
"height": 818.5408325195318,
"seed": 2101748664,
"groupIds": [
"Hul-uvlemt_cI9_Fp3WrH"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "5knELniv"
}
],
"updated": 1697123064116,
"link": null,
"locked": false
},
{
"type": "text",
"version": 228,
"versionNonce": 307511752,
"isDeleted": false,
"id": "5knELniv",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -645.6871371269228,
"y": -592.4427185058596,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 552.638427734375,
"height": 420,
"seed": 691596472,
"groupIds": [
"Hul-uvlemt_cI9_Fp3WrH"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697123064116,
"link": null,
"locked": false,
"fontSize": 28,
"fontFamily": 1,
"text": "\n\n\n\n- handle_goal\n- handle_cancel\n- handle_accepted\n\nThe important part is execute:\n- for loop through trajectory and send \noffboard commands to px4\n",
"rawText": "\n\n\n\n- handle_goal\n- handle_cancel\n- handle_accepted\n\nThe important part is execute:\n- for loop through trajectory and send offboard commands to px4\n",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "4QXgkAkRFkLPAcD8t0Sgc",
"originalText": "\n\n\n\n- handle_goal\n- handle_cancel\n- handle_accepted\n\nThe important part is execute:\n- for loop through trajectory and send offboard commands to px4\n",
"lineHeight": 1.25,
"baseline": 409
},
{
"type": "rectangle",
"version": 68,
"versionNonce": 553175240,
"isDeleted": false,
"id": "q_MPWFFrVxrxtrzAUTaaJ",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -555.5963778066103,
"y": -551.1047057246094,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 480.7786254882816,
"height": 60.85806274414085,
"seed": 1038783928,
"groupIds": [
"Hul-uvlemt_cI9_Fp3WrH"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "jNLQaaLq"
}
],
"updated": 1697123064116,
"link": null,
"locked": false
},
{
"type": "text",
"version": 41,
"versionNonce": 393506760,
"isDeleted": false,
"id": "jNLQaaLq",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -528.4351381825868,
"y": -543.175674352539,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 426.4561462402344,
"height": 45,
"seed": 8330936,
"groupIds": [
"Hul-uvlemt_cI9_Fp3WrH"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697123064116,
"link": null,
"locked": false,
"fontSize": 36,
"fontFamily": 1,
"text": "MoveSmoothActionServer",
"rawText": "MoveSmoothActionServer",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "q_MPWFFrVxrxtrzAUTaaJ",
"originalText": "MoveSmoothActionServer",
"lineHeight": 1.25,
"baseline": 31
},
{
"id": "T_jgB4iG3mlWPyahBp9rA",
"type": "image",
"x": -1216.7221102714539,
"y": -607.1722717285156,
"width": 349,
"height": 358,
"angle": 0,
"strokeColor": "transparent",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 1488109256,
"version": 105,
"versionNonce": 76913080,
"isDeleted": false,
"boundElements": null,
"updated": 1697119498449,
"link": null,
"locked": false,
"status": "pending",
"fileId": "53a29778b62e67d5d6ee80cf34453e58bcb88187",
"scale": [
1,
1
]
},
{
"type": "rectangle",
"version": 127,
"versionNonce": 605752520,
"isDeleted": false,
"id": "oKD7end-LC_VdRYXouRuv",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -659.7703280448916,
"y": 338.61279296874955,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 664.8743286132816,
"height": 818.5408325195318,
"seed": 193154488,
"groupIds": [
"n-mVf4NySQdfVIenFRlup"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "CMXgBmzj"
}
],
"updated": 1697122375648,
"link": null,
"locked": false
},
{
"type": "text",
"version": 735,
"versionNonce": 534342856,
"isDeleted": false,
"id": "CMXgBmzj",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -654.7703280448916,
"y": 343.61279296874955,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 653.0186767578125,
"height": 595,
"seed": 172021432,
"groupIds": [
"n-mVf4NySQdfVIenFRlup"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697122769534,
"link": null,
"locked": false,
"fontSize": 28,
"fontFamily": 1,
"text": "\n\n\n\n- This class implements the Action client that \nsets the goal, and has the callbacks for \nreceiving feedback and the result. It inherits \nfrom the baseclass RosActionNode which itself\ninherits from the Behaviortree library, meaning \nit implement a Behaviortree action.\n\n- parent class calls setGoal and then\n\n- Uses the client to call the server through \nasync_send_goal\n\n",
"rawText": "\n\n\n\n- This class implements the Action client that sets the goal, and has the callbacks for receiving feedback and the result. It inherits from the baseclass RosActionNode which itself inherits from the Behaviortree library, meaning it implement a Behaviortree action.\n\n- parent class calls setGoal and then\n\n- Uses the client to call the server through async_send_goal\n\n",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "oKD7end-LC_VdRYXouRuv",
"originalText": "\n\n\n\n- This class implements the Action client that sets the goal, and has the callbacks for receiving feedback and the result. It inherits from the baseclass RosActionNode which itself inherits from the Behaviortree library, meaning it implement a Behaviortree action.\n\n- parent class calls setGoal and then\n\n- Uses the client to call the server through async_send_goal\n\n",
"lineHeight": 1.25,
"baseline": 584
},
{
"type": "rectangle",
"version": 143,
"versionNonce": 672151224,
"isDeleted": false,
"id": "j7vPLVyvo3dYqfyv5dahM",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -563.2908968495792,
"y": 386.33972176562474,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 480.7786254882816,
"height": 60.85806274414085,
"seed": 1248149432,
"groupIds": [
"n-mVf4NySQdfVIenFRlup"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "jLt0dnKk"
}
],
"updated": 1697122374080,
"link": null,
"locked": false
},
{
"type": "text",
"version": 119,
"versionNonce": 927506360,
"isDeleted": false,
"id": "jLt0dnKk",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -480.59964318746967,
"y": 394.26875313769517,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 315.3961181640625,
"height": 45,
"seed": 1007978680,
"groupIds": [
"n-mVf4NySQdfVIenFRlup"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697122374080,
"link": null,
"locked": false,
"fontSize": 36,
"fontFamily": 1,
"text": "MoveSmoothAction",
"rawText": "MoveSmoothAction",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "j7vPLVyvo3dYqfyv5dahM",
"originalText": "MoveSmoothAction",
"lineHeight": 1.25,
"baseline": 31
}
],
"appState": {
"theme": "light",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "transparent",
"currentItemFillStyle": "hachure",
"currentItemStrokeWidth": 1,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 20,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 2797.031155109408,
"scrollY": 1374.2330627441424,
"zoom": {
"value": 0.4999999999999996
},
"currentItemRoundness": "round",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
## Drawing
```compressed-json
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=
```
%%

View File

@@ -0,0 +1,17 @@
24, 76, 29, 2, 276, 7, 200, 3, 77, 1, 98, 170, 74,2DD6D8
1,kueche , 1
2,wohnzimmer , 2
1,true , 1, 450761,top-links , 2, 0, 80, 58800, 57000, 2800, 46, 16597248, 82432, 0, 0, 0, 0, 0, 115, 0, 20.00000, 10.00000, 34.00000, 50.00000,false,false, 0, 1, 0, 0, 0, 0, 2
2,true , 1, 953570,top rechts , 2, 0, 80, 58200, 57000, 2800, 1, 16662784, 11904159, 0, 0, 0, 0, 0, 34, 0, -1.00000, -1.00000, 45.00000, 50.00000,false,false, 0, 2, 0, 0, 0, 0, 2
3,true , 1, 953571,unten links , 2, 0, 80, 58200, 57000, 2800, 1, 16728320, 82432, 0, 0, 0, 0, 0, 17, 0, -1.00000, -1.00000, 34.00000, 50.00000,false,false, 0, 3, 0, 0, 0, 0, 2
4,true , 1, 953572,unten rechts , 2, 0, 80, 58200, 57000, 2800, 1, 16896, 82432, 0, 0, 0, 0, 0, 55, 0, -1.00000, -1.00000, 34.00000, 50.00000,false,false, 0, 4, 0, 0, 0, 0, 2
5,true , 1, 953573,Tisch , 2, 0, 80, 59150, 58400, 1900, 43, 15373058, 15635202, 0, 0, 0, 0, 0, 9, 0, -1.00000, -1.00000, 42.00000, 50.00000,false,false, 0, 5, 0, 0, 0, 0, 1
6,true , 1, 953574,türe , 2, 0, 80, 58400, 58150, 1600, 42, 15438594, 15635202, 0, 0, 0, 0, 0, 8, 0, -1.00000, -1.00000, 42.00000, 50.00000,false,false, 0, 6, 0, 0, 0, 0, 1
7,true , 1, 953575,sitzplatz , 2, 0, 80, 59570, 58750, 1400, 45, 15504130, 15635202, 0, 0, 0, 0, 0, 10, 0, -1.00000, -1.00000, 35.00000, 50.00000,false,false, 0, 7, 0, 0, 0, 0, 1
1, 0, 953569,all-4 , 0, 80, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,false, 2, 7
2, 0, 953576,all-3 , 0, 80, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,false, 1, 14
3, 0, 953577,all-7 , 0, 80, 7, 5, 6, 1, 2, 3, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,false, 0, 16
0, 0, 0, 0, 0, 0, 0
"v2.4.7","storen-somfy","pool.ntp.org","CET-1CEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00",true ,true
1,true ,"192.168.1.225","192.168.1.1","255.255.255.0","62.2.24.162","62.2.17.60","mqtt://","ESPSomfyRTS", 1883,false,"","homeassistant", 0, 0, 0, 0, -1, 23, 18
true , 0, 80, 18, 5, 23, 19, 13, 12, 433.420, 99.97, 47.60, 10