10.07.2024 // Laufende Dokumentation im Projekt FabAccess
Hier können alle Learnings und offenen Fragen festgehalten werden. Jede Frage ist wichtig und kann notiert werden. Denkt an ein FAQ, was im Nachhinein entstehen soll.
FAQ - Welche Fragen müssen beantwortet werden, um FabAccess lokal aufzusetzen?
Hier könnt ihr alle Fragen aufschreiben, die bei euch aufkommen:
- Für was ist FabAccess gedacht?
- Antwort: ..
- Für was ist FabAccess nicht gedacht?
- Antwort: ..
- Was kostet das Aufsetzen von FabAccess ca.?
- Antwort: ..
- ...
Interessante Links, die ihr mit anderen Teilen wollt
- Die FabAccess-Website: https://www.fab-access.info/
Andere Notizen, die ihr für wichtig haltet
Hier könnt ihr alles andere niederschreiben, was ihr für andere wichtig findet oder gelernt habt. Wenn ihr mögt, dann schreibt einen eindeutigen Namen hinter eure Notiz, damit wir im Zweifel nachfragen können, falls etwas unklar ist.
- ...
- ...
➡️➡️➡️➡️ Dokumentation kopiert: https://gitlab.com/fabinfra/fabaccess/docs/-/merge_requests/8 https://gitlab.com/fabinfra/fabaccess/actors/tasmota/-/merge_requests/2 ⬅️⬅️⬅️⬅️
FabAccess Tasmota Actor konfigurieren
Actor verfügbar machen
git clone https://gitlab.com/fabinfra/fabaccess/actors/tasmota.git adapters/tasmota
chmod +x adapters/tasmota/main.py
Actor in bffh.dhall konfigurieren
actors =
{
tasmota_F0A4FB =
{
module = "Process",
params =
{
cmd = "/usr/local/lib/bffh/adapters/tasmota/main.py",
args = "--host mqtt --tasmota F0A4FB"
}
}
},
Nous A1T / Tasmota konfigurieren
https://tasmota.github.io/docs/Commands/
PowerOnState auf 0 setzen, um eine Art Wiederanlaufschutz zu haben
PowerOnState Control power state when the device is powered up. More information 0 / OFF = keep power(s) OFF after power up 1 / ON = turn power(s) ON after power up 2 / TOGGLE = toggle power(s) from last saved state 3 = switch power(s) to their last saved state (default) 4 = turn power(s) ON and disable further power control 5 = after a PulseTime period turn power(s) ON (acts as inverted PulseTime mode)
Ggf. FriendlyName auf etwas lesbares ändern
!! Fuktioniert das noch mit dem Tasmota Actor? !!
FriendlyName 1 = Reset friendly name to firmware default = set friendly name (32 char limit)
Tasmota aktualiseren
Upgrade 1 = download firmware from OtaUrl and restart 2 = (ESP32 only) download safeboot firmware based on OtaUrl and restart into safeboot = download firmware from OtaUrl if is higher than device version
Werbserver ausschalten und konfiguration nur über MQTT machen
!! Ist dann noch ein separates Netzwerk erforderlich? !!
Webserver 0 = stop web server 1 = start web server in user mode 2 = start web server in admin mode
Farbschema anpassen
https://tasmota.github.io/docs/Commands/#webcolor
WebColor {"WebColor":["#727272","#fafafa","#fafafa","#3f484e","#fafafa","#25d0aa","#3f484e","#ca291d","#1dca29","#000000","#25d0aa","#1a9378","#ca291d","#8a1b14","#25d0aa","#1a9378","#ffffff","#25d0aa","#3b474d"]}
WiFi einrichten
SSId = 1..2 = set AP Wi-Fi SSID and restart 1 = reset AP Wi-Fi SSID to firmware default (STA_SSID1 or STA_SSID2) and restart SSID are limited to 32 characters. Do not use special characters or white spaces in the SSID
Password = 1..2 = set AP Wi-Fi password and restart 1 = reset AP Wi-Fi password to firmware default (STA_PASS1 or STA_PASS2) and restart Passwords are limited to 64 characters. Do not use special characters or white spaces in the password. Note that Password and Password1 are equivalent commands.
MQTT einrichten
MqttHost 0 = clear MQTT host field and allow mDNS to find MQTT host 1 = reset MQTT host to firmware default (MQTT_HOST) and restart = set MQTT host and restart (do NOT use .local)
MqttUser 0 = clear MQTT user name 1 = reset MQTT user name to firmware default (MQTT_USER) and restart = set MQTT user name and restart
MqttPassword 0 = clear MQTT password 1 = reset MQTT password to firmware default (MQTT_PASS) and restart = set MQTT password and restart (min 5 chars)
MqttPort 1 = reset MQTT port to firmware default (MQTT_PORT) and restart = set MQTT port between 2 and 32766 and restart
➡️➡️➡️➡️ Ende von: https://gitlab.com/fabinfra/fabaccess/docs/-/merge_requests/8 und https://gitlab.com/fabinfra/fabaccess/actors/tasmota/-/merge_requests/2 ⬅️⬅️⬅️⬅️
MQTT mit TLS
mosquitto mit traefik einrichten
ggf. noch mit crowdsec absichern
https://goneuland.de/traefik-v2-3-reverse-proxy-mit-crowdsec-im-stack-einrichten/
ESP8266 unterstützen kein TLS mit Tasmota und muss selbst gebaut werden
https://tasmota.github.io/docs/TLS/#compiling-tls-for-esp8266 !! Durch FabInfra bereitstellen, damit neue Nous per OTA geflashes werden können? !!
platform.ini
; uncomment the following to enable TLS with 4096 RSA certificates
-DUSE_4K_RSA
platformio_tasmota_env.ini
lib_extra_dirs =
${common.lib_extra_dirs}
lib/lib_ssl
tasmota/user_config_override.h
#ifndef _USER_CONFIG_OVERRIDE_H_
#define _USER_CONFIG_OVERRIDE_H_
#ifndef USE_MQTT_TLS
#define USE_MQTT_TLS // Use TLS for MQTT connection (+34.5k code, +7.0k mem and +4.8k additional during connection handshake)
#define MQTT_TLS_ENABLED true // [SetOption103] Enable TLS mode (requires TLS version)
#define USE_MQTT_TLS_CA_CERT // Force full CA validation instead of fingerprints, slower, but simpler to use. (+2.2k code, +1.9k mem during connection handshake)
// This includes the LetsEncrypt CA in tasmota_ca.ino for verifying server certificates
// #define USE_MQTT_TLS_FORCE_EC_CIPHER // Force Elliptic Curve cipher (higher security) required by some servers (automatically enabled with USE_MQTT_AWS_IOT) (+11.4k code, +0.4k mem)
#endif
#endif // _USER_CONFIG_OVERRIDE_H_
Backup / Restore einrichten
Hardware empfehlung
Automatisches Deployment via Ansible?
Hilfsmittel
Links
https://gitlab.com/fabinfra/fabaccess/dockercomposehttps://fab-access.readthedocs.io/en/v0.3/installation/server_docker.html