Merge remote-tracking branch 'gum/master'
This commit is contained in:
commit
3e3e561cca
@ -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": {
|
||||
|
@ -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 {
|
||||
|
8
kartei/makefu/retiolum/savarcast.pub
Normal file
8
kartei/makefu/retiolum/savarcast.pub
Normal 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-----
|
1
kartei/makefu/retiolum/savarcast_ed25519.pub
Normal file
1
kartei/makefu/retiolum/savarcast_ed25519.pub
Normal file
@ -0,0 +1 @@
|
||||
Ed25519PublicKey = s/m2cdP6VguKTzTFLdoHMG7t4+94NNT/+ZHYcmSxSVP
|
1
kartei/makefu/wiregrill/savarcast.pub
Normal file
1
kartei/makefu/wiregrill/savarcast.pub
Normal file
@ -0,0 +1 @@
|
||||
mM/QKHTnLlC5qyClRY9WZKg3TK4F+WpLIKRtjCmCCHM=
|
@ -1 +1 @@
|
||||
T7Cr80dBbtPFCPdz4OS7whDlQJzn2Orclq5rLVtD+Ds=
|
||||
yAKvxTvcEVdn+MeKsmptZkR3XSEue+wSyLxwcjBYxxo=
|
||||
|
@ -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";
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ in {
|
||||
interfaces."${ext-if}".ipv4.addresses = [
|
||||
{
|
||||
address = shack-ip;
|
||||
prefixLength = 22;
|
||||
prefixLength = 20;
|
||||
}
|
||||
];
|
||||
|
||||
|
@ -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";
|
||||
};
|
||||
|
7
krebs/2configs/shack/esphome.nix
Normal file
7
krebs/2configs/shack/esphome.nix
Normal file
@ -0,0 +1,7 @@
|
||||
{
|
||||
services.esphome = {
|
||||
enable = true;
|
||||
address = "0.0.0.0";
|
||||
openFirewall = true;
|
||||
};
|
||||
}
|
@ -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" = {
|
||||
|
@ -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: [],
|
||||
},
|
||||
},
|
||||
}
|
5
krebs/2configs/shack/glados/zigbee.nix
Normal file
5
krebs/2configs/shack/glados/zigbee.nix
Normal file
@ -0,0 +1,5 @@
|
||||
{
|
||||
services.udev.extraRules = ''
|
||||
SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", SYMLINK+="zigbee", MODE="0666"
|
||||
'';
|
||||
}
|
Loading…
Reference in New Issue
Block a user