Merge remote-tracking branch 'gum/master'

This commit is contained in:
lassulus 2024-05-12 20:12:33 +02:00
commit 3e3e561cca
14 changed files with 145 additions and 15 deletions

View File

@ -18,11 +18,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1707956935,
"narHash": "sha256-ZL2TrjVsiFNKOYwYQozpbvQSwvtV/3Me7Zwhmdsfyu4=",
"lastModified": 1710272261,
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "a4d4fe8c5002202493e87ec8dbc91335ff55552c",
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
"type": "github"
},
"original": {

View File

@ -96,6 +96,16 @@ in {
retiolum.ip4.addr = "10.243.0.212";
};
};
savarcast = rec {
nets = {
retiolum.ip4 = {
addr = "10.243.136.238";
};
retiolum.aliases = [
"sava.r"
];
};
};
x = {
syncthing.id = "OA36OF6-JEFCUJQ-OEYVTMH-DPCACQI-3AJRE5G-BFVMOUG-RPYJQE3-4ZCUWA5";
nets = {
@ -127,6 +137,7 @@ in {
aliases = [
"omo.r"
"dcpp.omo.r"
"hass.omo.r"
"backup.makefu.r"
"torrent.omo.r"
"music.omo.r"
@ -239,6 +250,7 @@ in {
ul.work.euer IN A ${nets.internet.ip4.addr}
music.euer IN A ${nets.internet.ip4.addr}
ntfy.euer IN A ${nets.internet.ip4.addr}
paper.euer IN A ${nets.internet.ip4.addr}
'';
};
nets = rec {

View File

@ -0,0 +1,8 @@
-----BEGIN RSA PUBLIC KEY-----
MIIBCgKCAQEAvxhCwL7g+p3rp2aelJHKHowLLcDZVqZnsuViW5jzQ5kQuDB6Rc7f
IiUXXzg6/BL2o7jUW1gRrHbiVy7360HxsTwQvV8j0/s+UsCQCybWclGE2NlsjCUM
xi/zTn/R523o43J4t6L7ohDlJVBCPMVJu5ZWVIlMAWSHI45WFu9JAyKOZJnPEYQb
eyw8P93ztZyijoRTV1SEYK9FiSsfmNgGIqPlE6QPE1S+oR6j+718WSrmQjcBO8uO
cbj4ZPEgokYRF+WH4m9fPfkTWH6qQ1idqiWZfeUR2TfLLDQ+zDpJpoXlXk/JOqMu
7kdx3dfuiulI93pUDVeGXh0YCyTmVvavdQIDAQAB
-----END RSA PUBLIC KEY-----

View File

@ -0,0 +1 @@
Ed25519PublicKey = s/m2cdP6VguKTzTFLdoHMG7t4+94NNT/+ZHYcmSxSVP

View File

@ -0,0 +1 @@
mM/QKHTnLlC5qyClRY9WZKg3TK4F+WpLIKRtjCmCCHM=

View File

@ -1 +1 @@
T7Cr80dBbtPFCPdz4OS7whDlQJzn2Orclq5rLVtD+Ds=
yAKvxTvcEVdn+MeKsmptZkR3XSEue+wSyLxwcjBYxxo=

View File

@ -1,4 +1,4 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, ... }:
{
imports = [
./net.nix
@ -73,6 +73,7 @@
# hass.shack
<stockholm/krebs/2configs/shack/glados>
<stockholm/krebs/2configs/shack/esphome.nix>
# connect to git.shackspace.de as group runner for rz
<stockholm/krebs/2configs/shack/gitlab-runner.nix>
@ -170,4 +171,5 @@
isNormalUser = true;
shell = "/run/current-system/sw/bin/zsh";
};
system.stateVersion = lib.mkForce "24.05";
}

View File

@ -14,7 +14,7 @@ in {
interfaces."${ext-if}".ipv4.addresses = [
{
address = shack-ip;
prefixLength = 22;
prefixLength = 20;
}
];

View File

@ -1,5 +1,6 @@
{ config, ... }:
{ config,lib, ... }:
{
nixpkgs.config.allowUnfree = true; # "consul-1.18.0"
krebs.sync-containers3.containers.news = {
sshKey = "${config.krebs.secret.directory}/news.sync.key";
};

View File

@ -0,0 +1,7 @@
{
services.esphome = {
enable = true;
address = "0.0.0.0";
openFirewall = true;
};
}

View File

@ -3,29 +3,26 @@ let
kodi-host = "192.168.8.11";
confdir = "/var/lib/homeassistant-docker";
in {
imports = [
];
imports = [ ./zigbee.nix ];
# networking.firewall.allowedTCPPorts = [ 8123 ];
networking.firewall.allowedTCPPorts = [ 8123 ];
virtualisation.oci-containers.containers.hass = {
image = "homeassistant/home-assistant:latest";
environment = {
TZ = "Europe/Berlin";
# TODO create unique users
PUID = toString config.users.users.news_container.uid;
PGID = toString config.users.groups.news_container.gid;
UMASK = "007";
};
extraOptions = ["--net=host" ];
extraOptions = ["--net=host" "--device=/dev/zigbee" ];
volumes = [
"${confdir}:/config"
"${./zigbee-quirks}:/quirks"
#"${confdir}/docker-run:/etc/services.d/home-assistant/run:"
];
};
systemd.tmpfiles.rules = [
#"f ${confdir}/docker-run 0770 kiosk kiosk - -"
# TODO:
"d ${confdir} 0770 news_container news_container - -"
"d ${confdir} 0770 root root - -"
];
services.nginx.virtualHosts."hass.shack" = {

View File

@ -0,0 +1,96 @@
"""TS011F plug."""
from zigpy.profiles import zgp, zha
from zigpy.quirks import CustomDevice
from zigpy.zcl.clusters.general import (
Basic,
GreenPowerProxy,
Groups,
Identify,
OnOff,
Ota,
Scenes,
Time,
)
from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
from zigpy.zcl.clusters.lightlink import LightLink
from zigpy.zcl.clusters.measurement import TemperatureMeasurement
from zigpy.zcl.clusters.smartenergy import Metering
from zhaquirks.const import (
DEVICE_TYPE,
ENDPOINTS,
INPUT_CLUSTERS,
MODEL,
MODELS_INFO,
OUTPUT_CLUSTERS,
PROFILE_ID,
)
from zhaquirks.quirk_ids import TUYA_PLUG_ONOFF
from zhaquirks.tuya import (
EnchantedDevice,
TuyaNewManufCluster,
TuyaZB1888Cluster,
TuyaZBE000Cluster,
TuyaZBElectricalMeasurement,
TuyaZBExternalSwitchTypeCluster,
TuyaZBMeteringCluster,
TuyaZBMeteringClusterWithUnit,
TuyaZBOnOffAttributeCluster,
)
class Plug_v2l(EnchantedDevice):
"""Another TS011F Tuya plug. First one using this definition is _TZ3000_okaz9tjs."""
quirk_id = TUYA_PLUG_ONOFF
signature = {
MODEL: "TS011F",
ENDPOINTS: {
# "profile_id": 260,
# "device_type": "0x0100",
# "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0702", "0x0b04", "0xe001"],
# "in_clusters": ["0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x000a", "0x0702", "0x0b04", "0x1000", "0xe000", "0xe001"],
# "out_clusters": []
1: {
PROFILE_ID: zha.PROFILE_ID,
DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
OnOff.cluster_id,
Time.cluster_id,
Metering.cluster_id,
ElectricalMeasurement.cluster_id,
LightLink.cluster_id,
TuyaZBE000Cluster.cluster_id,
TuyaZBExternalSwitchTypeCluster.cluster_id,
],
OUTPUT_CLUSTERS: [],
},
},
}
replacement = {
ENDPOINTS: {
1: {
PROFILE_ID: zha.PROFILE_ID,
DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
INPUT_CLUSTERS: [
Basic.cluster_id,
Identify.cluster_id,
Groups.cluster_id,
Scenes.cluster_id,
TuyaZBOnOffAttributeCluster,
Time.cluster_id,
TuyaZBMeteringClusterWithUnit,
TuyaZBElectricalMeasurement,
LightLink.cluster_id,
TuyaZBE000Cluster.cluster_id,
TuyaZBExternalSwitchTypeCluster,
],
OUTPUT_CLUSTERS: [],
},
},
}

View File

@ -0,0 +1,5 @@
{
services.udev.extraRules = ''
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="zigbee", MODE="0666"
'';
}