Compare commits
9 Commits
7b9f80bd91
...
dev
| Author | SHA1 | Date | |
|---|---|---|---|
| 3aa2abc0ae | |||
| 6af7c7e720 | |||
| e56528b7b3 | |||
| 1ed975513a | |||
| 5a426919d7 | |||
| 232b4b9f32 | |||
| 4482f6921e | |||
| 34a3dc17b2 | |||
| dd8e2ff9d5 |
68
.obsidian/workspace.json
vendored
68
.obsidian/workspace.json
vendored
@@ -91,32 +91,18 @@
|
|||||||
"title": "2026-01-07"
|
"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",
|
"id": "f33efed5601c1085",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
"state": {
|
"state": {
|
||||||
"type": "markdown",
|
"type": "markdown",
|
||||||
"state": {
|
"state": {
|
||||||
"file": "2 Personal/Home Lab/Homelab.md",
|
"file": "2 Personal/Home Lab/NAS/Virtual Machine Hosting.md",
|
||||||
"mode": "source",
|
"mode": "source",
|
||||||
"source": false
|
"source": false
|
||||||
},
|
},
|
||||||
"icon": "lucide-file",
|
"icon": "lucide-file",
|
||||||
"title": "Homelab"
|
"title": "Virtual Machine Hosting"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@@ -161,6 +147,20 @@
|
|||||||
"title": "Business Ideas"
|
"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",
|
"id": "fac43a56fe618e9d",
|
||||||
"type": "leaf",
|
"type": "leaf",
|
||||||
@@ -176,7 +176,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"currentTab": 10
|
"currentTab": 6
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"direction": "vertical"
|
"direction": "vertical"
|
||||||
@@ -481,7 +481,7 @@
|
|||||||
],
|
],
|
||||||
"direction": "vertical",
|
"direction": "vertical",
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 42,
|
"y": 57,
|
||||||
"width": 900,
|
"width": 900,
|
||||||
"height": 777,
|
"height": 777,
|
||||||
"maximize": false,
|
"maximize": false,
|
||||||
@@ -489,10 +489,24 @@
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"active": "6914f148f736c4ac",
|
"active": "f33efed5601c1085",
|
||||||
"lastOpenFiles": [
|
"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/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",
|
"0 Journal/0 Daily/2026-01-29.md",
|
||||||
"Temporary/Untitled 4.md",
|
"Temporary/Untitled 4.md",
|
||||||
"99 Work/Jobhunt/OneSec Experience on LinkedIn.md",
|
"99 Work/Jobhunt/OneSec Experience on LinkedIn.md",
|
||||||
@@ -505,21 +519,9 @@
|
|||||||
"Temporary/My Health Products.md",
|
"Temporary/My Health Products.md",
|
||||||
"0 Journal/0 Daily/2026-01-28.md",
|
"0 Journal/0 Daily/2026-01-28.md",
|
||||||
"2 Personal/Lists/Packlisten/Packliste - Skitour.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",
|
"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/ESPSomfyRTS 2026-01-18T16_26_16.backup",
|
||||||
"Attachments/Pasted image 20260118150817.png",
|
"Attachments/Pasted image 20260118150817.png",
|
||||||
"Temporary/Untitled 3.md",
|
|
||||||
"Attachments/Pasted image 20251202214228.png",
|
"Attachments/Pasted image 20251202214228.png",
|
||||||
"2 Personal/1 Skills/AI",
|
"2 Personal/1 Skills/AI",
|
||||||
"2 Personal/Home Lab/Baerhalten",
|
"2 Personal/Home Lab/Baerhalten",
|
||||||
@@ -535,9 +537,7 @@
|
|||||||
"99 Work/0 OneSec/OneSecNotes/10 Projects/TeensyFlightcontroller",
|
"99 Work/0 OneSec/OneSecNotes/10 Projects/TeensyFlightcontroller",
|
||||||
"Attachments/Pasted image 20250922115441.png",
|
"Attachments/Pasted image 20250922115441.png",
|
||||||
"7 People/0_People.base",
|
"7 People/0_People.base",
|
||||||
"Attachments/Belts, Suspenders.mp3",
|
|
||||||
"Attachments/image 21.jpg",
|
"Attachments/image 21.jpg",
|
||||||
"Dashboard Canvas.canvas",
|
|
||||||
"99 Work/0 OneSec/OneSecNotes/30 Engineering Skills/Computer Science/Untitled.canvas",
|
"99 Work/0 OneSec/OneSecNotes/30 Engineering Skills/Computer Science/Untitled.canvas",
|
||||||
"8 Work/OneSecNotes/Temporary/Untitled.canvas"
|
"8 Work/OneSecNotes/Temporary/Untitled.canvas"
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -47,7 +47,7 @@
|
|||||||
"maxLinkFactor": 1,
|
"maxLinkFactor": 1,
|
||||||
"showDebugMessages": false
|
"showDebugMessages": false
|
||||||
},
|
},
|
||||||
"buryDate": "2026-03-05",
|
"buryDate": "2026-03-16",
|
||||||
"buryList": [],
|
"buryList": [],
|
||||||
"historyDeck": null
|
"historyDeck": null
|
||||||
}
|
}
|
||||||
@@ -1848,8 +1848,18 @@
|
|||||||
"state": {
|
"state": {
|
||||||
"type": "review-queue-list-view",
|
"type": "review-queue-list-view",
|
||||||
"state": {},
|
"state": {},
|
||||||
"icon": "SpacedRepIcon",
|
"icon": "lucide-ghost",
|
||||||
"title": "Notes Review Queue"
|
"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,
|
"table-editor-obsidian:Advanced Tables Toolbar": false,
|
||||||
"obsidian-spaced-repetition:Review flashcards": false,
|
"obsidian-spaced-repetition:Review flashcards": false,
|
||||||
"omnisearch:Omnisearch": false,
|
"omnisearch:Omnisearch": false,
|
||||||
"templater-obsidian:Templater": false,
|
"templater-obsidian:Templater": false
|
||||||
"periodic-notes:Open today": false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"active": "992ba06a004d0d26",
|
"active": "c2f4ad24032ae4c0",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
"0 Journal/0 Daily/2026-02-08.md",
|
"0 Journal/0 Daily/2026-02-08.md",
|
||||||
"99 Work/Jobhunt/OneSec Experience on LinkedIn.md",
|
"99 Work/Jobhunt/OneSec Experience on LinkedIn.md",
|
||||||
|
|||||||
28
0 Journal/0 Daily/2026-03-18.md
Normal file
28
0 Journal/0 Daily/2026-03-18.md
Normal 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
|
||||||
|
-
|
||||||
27
0 Journal/0 Daily/2026-03-20.md
Normal file
27
0 Journal/0 Daily/2026-03-20.md
Normal 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
|
||||||
|
-
|
||||||
@@ -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
|
||||||
@@ -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)
|
[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
|
## 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]]
|
![[Pasted image 20260118150817.png]]
|
||||||
Backup:
|
Backup:
|
||||||
![[ESPSomfyRTS 2026-01-18T16_26_16.backup]]
|
![[ESPSomfyRTS 2026-01-18T16_26_16.backup]]
|
||||||
|
![[ESPSomfyRTS 2026-03-17T16_05_06.backup]]
|
||||||
|
|
||||||
### Home Assitant Integration
|
### Home Assitant Integration
|
||||||
Followed this Video: [ESPSomfy Integration with Home Assistant - YouTube](https://www.youtube.com/watch?v=ikrQwPYGyeg&t=14s)
|
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
|
user: homeassistant
|
||||||
pw: VYWPQuR5UWkqMNU
|
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
|
### Tutorials
|
||||||
[INSANE STATISTICS In Home Assistant With Grafana! - TUTORIAL - YouTube](https://www.youtube.com/watch?v=rXF-LycbjoA)
|
[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.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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.
|
- 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[[]]
|
- 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.
|
- 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
|
## Medtech
|
||||||
- use differential cameras to visualize airflow to teach deaf people how the airflow is when speaking to learn it properly
|
- use differential cameras to visualize airflow to teach deaf people how the airflow is when speaking to learn it properly
|
||||||
|
|||||||
@@ -7,7 +7,9 @@ tags: [excalidraw]
|
|||||||
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
|
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
|
||||||
|
|
||||||
|
|
||||||
# Text Elements
|
# Excalidraw Data
|
||||||
|
|
||||||
|
## Text Elements
|
||||||
PX4 Info Node ^SHjaC7GH
|
PX4 Info Node ^SHjaC7GH
|
||||||
|
|
||||||
getCurrentPose ^bntLlwqf
|
getCurrentPose ^bntLlwqf
|
||||||
@@ -40,572 +42,78 @@ MoveSmoothActionServer ^jNLQaaLq
|
|||||||
|
|
||||||
MoveSmoothAction ^jLt0dnKk
|
MoveSmoothAction ^jLt0dnKk
|
||||||
|
|
||||||
|
## Embedded Files
|
||||||
# Embedded files
|
|
||||||
53a29778b62e67d5d6ee80cf34453e58bcb88187: [[Pasted Image 20231012160459_976.png]]
|
53a29778b62e67d5d6ee80cf34453e58bcb88187: [[Pasted Image 20231012160459_976.png]]
|
||||||
|
|
||||||
%%
|
%%
|
||||||
# Drawing
|
## Drawing
|
||||||
```json
|
```compressed-json
|
||||||
{
|
N4KAkARALgngDgUwgLgAQQQDwMYEMA2AlgCYBOuA7hADTgQBuCpAzoQPYB2KqATLZMzYBXUtiRoIACyhQ4zZAHoFAc0JRJQgEYA6bGwC2CgF7N6hbEcK4OCtptbErHALRY8RMpWdx8Q1TdIEfARcZgRmBShcZQUebQBGAE5tAAYaOiCEfQQOKGZuAG1wMFAwMuh4cXRA7CiOZWD0sshGFnYuNAB2eP5y1tZOADlOMW4kzoA2eIBmCc6UxN7IQmYA
|
||||||
"type": "excalidraw",
|
|
||||||
"version": 2,
|
EUyoBGJuADMCMKWIEm4IHkweADEASQApFOmKVc7E5igAeVIARQAFK54AFSa5R2hHw+AAyrBGhJJLhsBpAkCBFBSGwANYIADqJHU3D4xWRqIxkJg0PQgg8SIgqL8kg44XyaB6BIgbDgcLUMDGKRSh2sDSqvJZmG4AFYJtNtDweIkpgskolRdLDly0M4JgAWeLaJUTFIauZKxIyxYs15EhAAYTY+DYpBOAGJ4ghnc6qZo4WjlDSOMRrbb7RIUdZmOz
|
||||||
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.20",
|
|
||||||
"elements": [
|
ArkqRQcZJuBNNdoABydDXTHgJqaphPxCaHSQIQjKaTcLMJnUalIJ1OipKi6bxBOHMJbMbTUWdWaKjUaw7e4RwK7ERmoIrNSAIf4ANWYQgASvhPjOLi9lJoOBOkxM7kjIPgAKKJCcAaWYAFkAJo8QikQgUACqzmwAH0rmxlM4IASALqHHbkbID7gOCEMFDh9Yh6WYIdSmaCpEG4aYCQAX0OTRhF9XdgmyXIhwKb8WSEOBiFwTZtiZTpkwTSjaxlOZ
|
||||||
{
|
|
||||||
"type": "rectangle",
|
DiIDg0UA4D8DothsAxUjUD2fADhZQhfSwE5cDSXNQn+LAoAAGX4xi0G4sJimQ4poMgWA4IkGo6gFKl+nabhjUOXShhGKp4hSetEiSCYeE6Q4VnWYISN2fYEDsziIAob1iBSUhbVWCYACFHygegNWwegAEcoHiT4qRBMESTJKQ4QRJBGxRdEsWjPF0otRKqggCljlA4RCwgodmRgtkOVgbkhRg/kyXq8oRTQCZRVLVN7nmHhyx4TVRRVbhnFFRVEw
|
||||||
"version": 70,
|
|
||||||
"versionNonce": 1706906056,
|
THglV6xJ5nmaZcsy/07UdV0XTSlkPXY3shF9JbA3QYMOFDXBwygSNsrQDUExSbRyPTSaromrMcxZPMCyLNqboTDqUms5MtXLb7GwQZsmTmaaNWefEYO2/tB0KAkx0nac5wXJdmBXNcNy3JYd33I9TwvK8b3vJ8XzfD9mjwmDf1wf9OKAkCWTA8ruBU1TKngpCULQ4gMKyHI8gR0d2Y59SDok7dlnc8EAAkACtcEtToAHFZcp5pEK/Q4CKIpyyIoq
|
||||||
"isDeleted": false,
|
|
||||||
"id": "2x2FIJ03wD79stOrQPI2T",
|
jU1lWyWXo2TUEZlizbYjjnJ41y+IE1r0FweIqVhZhxMwKSZPthSyiUsoVNggrNh9nSmAGDpUCmQyo/aYYOFGS7q1TSH2zstYNlBriXLck45cV5W1bi0EIShArYXhER1pg81MuxYhcTQaHygb4lK5OIrthK2lWaZQ5quwTk6r5eomsOF3Jk6bREmmGbeseutsyGtUOtnxVpg1Sz4mmxID4WjE9pWta3RQz1tt2m1lqDcgjrDQXzubmNW6mHUF8siY
|
||||||
"fillStyle": "hachure",
|
|
||||||
"strokeWidth": 2,
|
D54etOkG16+ZCxnVTsDXOZl5jli/s1SAsMBw4URhgZGs55yLmXKudckwcaIL3AeY855LzXjvA+Z8r53zaxZLTemTEmYwRZgyGh1sYKoR2nzTCgscLU3KLrYi4DyKPW+sbWiZs/ZoCtqxdiud5KOxppwKA4JCBGCqLMH8ciLh01BKqVAlVyjhxAegb4AANDUqArgcB2GwVAwxiB13KOQCg3t9EQCMSYsxFirFsBsVSPRABBIgygY4QDELkJgkdSBQ
|
||||||
"strokeStyle": "solid",
|
|
||||||
"roughness": 1,
|
HMAQPxBZAn6BIMQRohw9C5FwPxJgAEJCeVIN5XybB/JBRCmFSK0VYpD2vP4AgjiTguNMeYyx1jbE7jSbLIBH1tFSgAcw0IQQ0nwR0ZAXAQgoBsBnOERRVQURCBkeUfiNiXYQFwDwD2YkJLSQYv7BAilegh2OBIGcM4hABTRPEfQcBwRWnwDADUh56B7GeDcbxnMJCODppwXuwoxTig6TyGy8RnjdAbCyLRzhIYag/tMaY91pj6gmEmTp5Qowv3gu
|
||||||
"opacity": 100,
|
|
||||||
"angle": 0,
|
WKU5F5gHz1PPf+uZWn6MSGC6FopRRah/n/eFAyJ6CiPlaG++0IBOjPo0iAm0vRgRPnfEMj8Iw/nLvlE41dUpUg7llJFg8zQZU7qSAqPcqQ0jKgwsVVV2Qj1qkyHkPYaRwwQaOCAuCCYEOJsQsmZCNZgC4ZAKhCAMmW2Yn3X0A9UDs1DnibmZoQacRmGZe61145tE4NyeaLIjIcCTinbRE1P6/26FnByCB9Z5wdjzVh/MsJCzQCOZootnVBklrjaW
|
||||||
"x": 563.2296109199522,
|
|
||||||
"y": -641.5260467529299,
|
JxVxSXwBQCKOxTVgC1lTHWhFeEev4ZRQRNFTYwXNowiRds5L5ydnMoS0xlle1WaIhNAcK3bL4u5Qtkli2lseeLaAuaPltVFDdayW8pjVkoi9GCwKUzJEVPMHk7Zeq/1NDBRFLdtHVm0NMZ4lY5oZjTDi96+jJrj20mgGBhUJU0oDKfVa7pL5stpScQ6x1TplwSl3GEKVa5Cu/U3C9/Sv15Sg+SG0xVmalTpAq7RQ9lWjzVZ+uB8N004PxvgomRDS
|
||||||
"strokeColor": "#1e1e1e",
|
|
||||||
"backgroundColor": "transparent",
|
akIphQmmf4rUM1tZh1hDrxFur4a2OU4pAUwWDdwZMvro6htMkvHkSQEynpmdnRyUiu3MN5imjhhRzUQB4fGv5htG0mzokO9jLbbZycTSyPRJxlBxstCIU63w2BhFlZQKpEhzNQEs6QaztmmUWNyAopReJP1eagOouJlyxiHF8f4wJwTNj2l9RE9w0SAknDicQBJTKPRhHoqZZt5RklRDSaQa1EB9mHOOac85lpLnXNubge5VI7QFn4pUyWTmLNWc
|
||||||
"width": 664.8743286132816,
|
|
||||||
"height": 818.5408325195318,
|
FjZuzun6QtOfWMDpfIhkjLGb5tAkzpnLGdkJDU/bHFrIttIrZykTNPOqAgWojUmX8bQNWITicTJjDTNKDU4oUwxpzpxaRBcJAak+IY5QaIfFokXGiSS3wfHYFWAmKAKRwTKGwBBiuUr+UwcRNShDr9eDUr5RIGVfd5WQVCyyYeBHtHqpZBt7gn6XbqmXdoWF3Qb172/tKXj5RgWjVnl2X530UgdVGlu9u372XoAZf+i+W0gO/o5Q/E6T9Djnoh3G
|
||||||
"seed": 1357369544,
|
|
||||||
"groupIds": [
|
MFSYUxpgfc9J9wDiz1jLBWKsNY6yk4EO6vEZk/lXSFxqvs8DhYwVlsBZwQh6CYSgI+bAVxEiPguHAaYmJSDqzo8CBj1r9N2N5g6p1allGuoU8m9h2FdfB0RmLMOC7Rz5okKKNEHBdySQ4IQeg5bK1lFU+pvhWnqI6ZEessRzGDOSIu/JmZk2JC4FFDNwdOfh2bMDmOmCXuQNh76Anf1rcZS7eMsnKoy62yEpmmd2ThfjMwV2egKPMe48J4B9D9AA
|
||||||
"eTVsuRlQRF9sgbnV876J0",
|
|
||||||
"lE9VKsMY2iriwU-c_Iog-"
|
rYNg4upD8VKGgcw/Q+8uhWGHVIeR6q1Hn6McfqnsNAaeOkwzG6P1Y0j6gXDVGnEKnAKe/fVlNS5n9LVrnw2oB3m7/QNcrOn50X1rFLAlDbA1F/jhUlzaQgM/SbE4m/niHp0hjblgU1R11Ix1X13wEN2NyyFN3N0t2t1t3t1NVU0tRdzzzd1Yxw1d0gBYXQn9zTWHFTxrQ03rSNibS6wtjoN1UMyH14lkW83GTxCVwgACyC00UR3r2a3QAAB0OAFC
|
||||||
],
|
|
||||||
"frameId": null,
|
lCXBUBYRfRghHxlA2ACAFDnBVDrBUszdrAxB8BdD9D1CEBHw4QxA4ASJlD/g8xUBCBTk7Q6goBUAwx3CVhUAsA1shkEBkAzCLFSBUBbQ2RUB1A5VJAIjyB5Y1thlSAYBUADDUAwhfQFC2AdgdhUITpiBUA9B9B9ADDmAIjLE4BMANQFD7MHFZCIBlDlC9C1DDCtCdCVCmiNC8Au9TC2iDCNDrCEBbCth7DHDnC4BXDrB3DPCnCSjfDsB/DAiVDgj
|
||||||
"roundness": {
|
|
||||||
"type": 3
|
Qi2BwjIisMYjcA4jag7QkiUi0i8jMjsjtDsl8iDAijfQSjhkPCKiqiwsJIEtAlggdhACg0mA4sokIsQM2QqRctUl6QCt3Ibs7sHsnsLgXs3sPsvsfs/s6tylGt8BHN5DFDkSzD2jLCWjujGjejLDOiTDUTsSrDsAbC7DkSHCEAnCXDwkJiPCTovCZjMA/DNgFi9Cliwi4AIjJAoiNitiEjdjfRUicgDisiciTiCjzjBxSjrjKiuAusEAespcmR+t
|
||||||
},
|
|
||||||
"boundElements": [],
|
v8MtelLoFgBthlRlWARsYipk7IS9XYJgK8fY5sNlFsg968VtqR4iMcO8Y5v47SRMxhDQUgeAFho0+IZM40jNBCZl3IIpHwTxvhMQLgLhSAJxMBSAfZSAjAfFbx/hcBcAHkeVINV9Z8QcmVhVwccpl9MoZ9Cp19ZUt8cMd98M98zID9KVMdj914iUdRZQb1Ohro4wzJA1t078r0zJIZadOhepMVuxczj5gMJBWc1oAMOdf9hyDp74wM+cWQBduAro
|
||||||
"updated": 1697119406023,
|
|
||||||
"link": null,
|
bo7prJiVKI0xV5AFetPpEwfo/oux4hAZyVCoVc1VIUmyF4b8YZ0CSNhxEFsDcCTczcLcrcbc7cHcq1KFncmNaFqD7UcNPcVsEJNYk1GCBYA9MDM1g9s0JYI480jh3J5ZBhJJPhEzJIIok9HdIA0860M8hFssmkq9eDbQC8Nl9Se1S9OhjTfYq8Fta8ltLS51TM7TFzUCGAW8Q19s0BoUDRXT54B9vSBDxsEKTgkKUK0KMKUzAcko59QdByRUL02L
|
||||||
"locked": false
|
|
||||||
},
|
hV8zYcWN4cKo8MaotEKy31J5F1UARo0xtAUxl0eRBErolQ14DLiVJQ/lxRkxWxJoF438pyP9GVxzWVJyudpzOVeduV5zF8ICJhjKiVz8Oo3S6xX0tyFTUBjswFOJKxoV54Gc0DtdbyM1ygHyjcnzCDXySCPyU8fxvy20WN/yEdc9fz6DFMmDOFq09Z08BFM9hEW09MqCdx+CyLKE5EfNlEUrxC1ENEQtFVdFaiTw2BGBwR9AVj1B3sIlOBzlSBWh
|
||||||
{
|
|
||||||
"type": "rectangle",
|
qjESIAxqJqpq2AZrah2gFqlq7ifYHiTgotQlYtIl8BDqJBktUsfi5E/j0l/TAzgzQzwzIzozYz4zEzkykc4SOAmsI4JA1qEBJrprJBZqdqmA9rs85TcU+soqukVT6Q+kNShttSJlSA9Tu1BJS8ExqLTTO0HZzSShx0Th/hHx5ZlAAoNRCAVZph9B8BMRvgYBcBJAAo4BEhSAfFZ0CpnDogmVsc95sxbppR4gzJfljtnLb81Q9RZ4/lpRuhezvokC
|
||||||
"version": 91,
|
|
||||||
"versionNonce": 1557106360,
|
+qFzuKd5oD9FWwxDD9UA4CmdXL/8/KXiukJzWE/8ZyADp9UNkoa45L654NF8kNlKrbVLN9+4SzNKVVtK0dry0raqvy6ZGMSrXayqhxeD4CxhHozJjRxQWK1U+rg0nSmQDQD5KI/kkN7JztOrfcwLU0/aYIcKxgODtNmryhW0KqmFS6Or8bfTkRiIhAhwIBEBfR+JlAINA7I9phFkZomzNBrIEA5hiBRRiAJgQZrpsAdht5xaEAOpNBsBNBU6kwhV
|
||||||
"isDeleted": false,
|
|
||||||
"id": "wgrd0rloD6B_tv4cvqt1Q",
|
3AqgMqwB+k16sKjgDSFlEhcah1LsWRsBUQ4BGFCaQ4G8NIbSqzY7tErzm8/VOKu9YwuxCU95jyM7B8s6/STg2BDwnhBTnBJJLRHwJxiAZwzxDFhADlE8pL8zZLMz7bRUl87aV8koXbqD1LpDyhd8vbKz30daayDL2pkhyJ7g0x9Qrov4rKIVQC94oZZQRdFRjzhV39Ryv9jbPLTb9bzbDbn4L0hdEwHKxcZgNy+q3oYqSxZdKxJoFd6x4qxh54kC
|
||||||
"fillStyle": "hachure",
|
|
||||||
"strokeWidth": 2,
|
uxKItcCIMC7ydUXB9AJwdgNRBgYBwRPhiAdgJwrgcgLg5wCIyCiqA7KDKrqR3cALEEL7UBgL6Ls62FwLmDV6s0XH504LoLR8IBLQTw7sAp9AjB5ZMLPz862CGqG0mqCLdVWr7GSKO1q9yKsbXZObRIB0TT96XIz7lsmKm8WgOKBMVFXiH7E7tEF4uxEhBEpNlgvT40D6R93IQmwmImonYGrb4G4MLRszW4odnbCy4dsNyrcMkcyzcHdKqV9KccwV
|
||||||
"strokeStyle": "solid",
|
|
||||||
"roughness": 1,
|
SHMwKHJNNz2zVbJQpgbJjQGHkwmGXLvK3K2dv8Tbr4jmDbwMgCkHNRJQ2wZoRbLJyxVz1axRFR5GyI3Tf5RdVGtVA9IAtGdG9GDGjGTGzGOALHfAT7N6KCfyK7IB6FJneCGDPHc6VM6ra1C68KuDs8eC2q+DSLq7hKAserRDVFchJChqpmZD/qkT6iVCHDvDsB8BQgSjRiaqOTySwbOB8iiBBYOTiIFCwg8hOXUAMTqBkj+TPZRX3B8AWUSjgiFC
|
||||||
"opacity": 100,
|
|
||||||
"angle": 0,
|
ah8wzB6guJ3UWVJW8j1ByTAhpx8AoBtBTEvCOA8xrw8gFDfwDBRX0s1sWXIJUAZxbNuXOKbFUAKBJBzBoi1AMsdgFD+IzWfWuJUR9BRWAoEBYQzBXDAhySiBNByBEiJXshrAW7/WvDTkmDkjUBw3I32BwkY3kjtrOBtAGiaTTpeXWX8iCAeIBSoAVZtD8AtXOWUSVDbwwhLjHDmXCB+WrjZXRWwhFqmAOSoiFDQgYBk5Hx9jNCG3lDlraj6WzDGW
|
||||||
"x": 658.3203702402645,
|
|
||||||
"y": -595.8825224970703,
|
SjmXK32WvGO2uWi2OBeXu3cgBX3DhWN2xWG2JWUjpWdWq2wR5WuI7RUBlWE8W71WthNWUiL29XgJDXjWnDTWmAg2rXQ2L3bWV2HWnXmAXWGl3XPX4QnC8gggdhv3A2RX/2w2I3cAo382QZQjCB42ToYAk2Qh481W1AKSfAvGs2c20O82URMO4Q5qOAS3kS9CACK2HXZWSjhX62CAm2dWW29C23wgZW+W93e3q3+2Iah21jaRkjmBx2nwp2MTZ39q
|
||||||
"strokeColor": "#1e1e1e",
|
|
||||||
"backgroundColor": "transparent",
|
oALr0Anijb773jzrPigxviklbr8tCtf7/7fRAHgHQHwHIHZwjdYSGtfqET52W3F3PXl37W2WM313RWXWd2e3YQD240j3xWm3z3O3q3r2lj73VXlAn3iAX3+S33wgP2jWrgTXEOFWQ2bXulgOSjQPwPPFySPWvWYPfWEPf2kP0uL2KP0PqPY3sOE28PUBk3COoviO13U1yPUOquC3aP2gGOzDmOsvL2a2OOG3uO8xePUB+Oj2u2e3LE+2L2B3Whh3
|
||||||
"width": 480.7786254882816,
|
|
||||||
"height": 60.85806274414085,
|
1ix2J35OZ3kSqRMt5S2ltQ4byhbXMsxQEwByGpBstSRDRt0bhLZksmFkAo97aLCn3GibGKCpNJbSqno4I6Tv77hMuLUBZQ+pFR1TPTY1Wmi8I90B5ZOh6BvhJIJwYB6A2BphiAzxS1Eeh7maTxLa0zrbBUF8kGlLv0VKxm1KJmNLpmtKx50cqyj8FnxRJQZQKwGGd57m2KtFIVgqIVF4/l2prJQVDnb4WdP80sf8uGLmeGrmAqkGlzbomzVzHpRH
|
||||||
"seed": 1672494792,
|
|
||||||
"groupIds": [
|
XmdzvpmybIDyjyPnb6rpDz8VUxfn1HV6IBAXdH9HDHjHTHzHLHoWYmndbG4W7VwInGdUXG3HR0Npqr13/nfGrTmLAnELJJvtwJDxGJEZk8zUMX2DsWs8WqiL8W0mfTrvt6lYHv5snv3eLTdFffSn2KH6DtP0E7/vjvdR9QbIBLwfh9v6JB5ZA+Uhg/GJencf+mCfFKRncf0GEXizJnSyqfCM5nqyFnZfRomHsxt52xaxqH8UpR8dawL9v5qwkmWH
|
||||||
"eTVsuRlQRF9sgbnV876J0",
|
|
||||||
"lE9VKsMY2iriwU-c_Iog-"
|
XK2HRezm/RuHfKpez1F86xRRr1FR55n9Rob1jzxGYDmHTz99/l0wfUWRiNtUYITfgXzewWreoXrH/bqFy7He2N8WUWlMIKLBSPvE04Ix9S6KTeFgS3SZtNgQ3VC7q4z6oSFBq2lJTicEBrA1NqoNLdnO1parVxqQNDaltTo7eJ7i2ndAMdRixVNNOKnCAFdUSSH19O/xQrND1h7w9EeyPVHuj3oCY9JA2PMpLZz+pOJ0BhArAcQNlLbd9Eu3Y8gd
|
||||||
],
|
|
||||||
"frameId": null,
|
1VKuMkMgyTUsNjRoY0R8yfVYKnzNKBxwA1MBZHADORRBNgbMYoNADzDZATg/iIsL0AYDdsKAAUMXucyF70osizgstFYLmJuZBYyXLIJCAtCsMReQIIJG1lyBeD9AdgtfmbU35zkcsQQqACEIuC8o+mGZAIe4NOghCfBjcB2m4JiFpDieozSkFkI8HBDNg+gJ1m7W74FDUhxQt4DM2p7RDChsQ4oRcAGrBYUBxglIZ4MaFwCdSbpCoR0KyCOIaBan
|
||||||
"roundness": {
|
|
||||||
"type": 3
|
ZIdkOKGQhaSPiNzGwA9YhAHebQkYVkF3C+gJhqIaYbgHcgnQVhww+oSEOWFTD/gVpMCFsMqFZAwyAdJ1mSFdyFQj6NofAIYgOxZhUgeoWsJfggLLo24Vw1EGCDPD6Qd4xlQ8lmBSCTBUwcjYwUYBWL6AjBfGAgFMkxzXonhDTQmoEO2HFDShIdE4IcKsHegSApLVuM1AgBYjiAkIAYmKExHXhiAY1GxIsNwCaBggQlUkSQGZwhwAoNodyKQBXC4A
|
||||||
},
|
|
||||||
"boundElements": [
|
AAFFGglbcjeAfyCVjdFFAABKKkKMmUDAQTo6I9kVyOhQ8jZRvAeUYKJFGIj2h3mb9NULo6h0qC4hBjKMgEjXh6gkI8oDkGpG0juAY2JJEQBPqXcVB5QX6mYJtHCVhAUAQ7o6MOBFFSAGIUgIMADrmiru7ok6F6KpE0jc4Y2REXYB5LMBwQv1OABSIQDBizRRLKwd10YD/AVi+AI0SHm7iZBsBSSeusMn0D7DxYxFKuhky/IGBzkwQbAUmLNihBlO
|
||||||
{
|
|
||||||
"type": "text",
|
21VMemNPrPcIAjgZgKaJpQhIfYJ4HIEIE0FBxxCoIcIGzC1iIQgAA===
|
||||||
"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": {}
|
|
||||||
}
|
|
||||||
```
|
```
|
||||||
%%
|
%%
|
||||||
17
Attachments/ESPSomfyRTS 2026-03-17T16_05_06.backup
Normal file
17
Attachments/ESPSomfyRTS 2026-03-17T16_05_06.backup
Normal 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
|
||||||
Reference in New Issue
Block a user