From 5ccb8e08e82a171749e9f93fea38b2c4d55cd868 Mon Sep 17 00:00:00 2001 From: makefu Date: Wed, 12 Aug 2020 12:23:01 +0200 Subject: [PATCH] ma bureautomation: fetch latest xkcd comic --- makefu/2configs/bureautomation/camera/comic.nix | 4 ++++ makefu/2configs/bureautomation/comic-updater.nix | 12 ++++++++++-- makefu/2configs/bureautomation/default.nix | 7 ++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/makefu/2configs/bureautomation/camera/comic.nix b/makefu/2configs/bureautomation/camera/comic.nix index a847b0add..a523d032e 100644 --- a/makefu/2configs/bureautomation/camera/comic.nix +++ b/makefu/2configs/bureautomation/camera/comic.nix @@ -3,4 +3,8 @@ platform = "generic"; still_image_url = http://127.0.0.1:8123/local/lines.png ; } + { name = "XKCD"; + platform = "generic"; + still_image_url = http://127.0.0.1:8123/local/xkcd.png ; + } ] diff --git a/makefu/2configs/bureautomation/comic-updater.nix b/makefu/2configs/bureautomation/comic-updater.nix index 5f26bc2c7..1e2440939 100644 --- a/makefu/2configs/bureautomation/comic-updater.nix +++ b/makefu/2configs/bureautomation/comic-updater.nix @@ -6,21 +6,29 @@ let in { systemd.services.comic-updater = { startAt = "daily"; - description = "Send led change to message queue"; + description = "update our comics"; after = [ "network-online.target" ] ++ (lib.optional config.services.mosquitto.enable "mosquitto.service"); path = with pkgs; [ wget xmlstarlet ]; wantedBy = [ "multi-user.target" ]; serviceConfig = { User = "hass"; WorkingDirectory = config.services.home-assistant.configDir; - ExecStart = pkgs.writeDash "update-poorly-drawn-lines" '' + ExecStart = pkgs.writeDash "update-comics" '' set -euf mkdir -p www/ cd www/ + # poorly drawn lines pic=$(wget -O- http://www.poorlydrawnlines.com/feed/ \ | xml sel -t -v '/rss/channel/item/content:encoded' \ | head -n 2 | sed -n 's/.*src="\([^"]\+\)".*/\1/p' ) wget "$pic" -nc && cp -v "$(basename "$pic")" lines.png + + #pic=$(curl -L xkcd.com 2>/dev/null | grep imgs.xkcd.com | grep title | sed -n 's/.*src="\([^"]\+\)" .*/https:\1/p') + # xkcd + pic=$(wget -O- https://xkcd.com/rss.xml \ + | xml sel -t -v '/rss/channel/item/description' \ + | head -n 1 | sed -n 's/.*src="\([^"]\+\)".*/\1/p' ) + wget "$pic" -nc && cp -v "$(basename "$pic")" xkcd.png ''; PrivateTmp = true; }; diff --git a/makefu/2configs/bureautomation/default.nix b/makefu/2configs/bureautomation/default.nix index c115bcb6c..9b33595f4 100644 --- a/makefu/2configs/bureautomation/default.nix +++ b/makefu/2configs/bureautomation/default.nix @@ -137,9 +137,9 @@ in { ++ frosch.binary_sensor ++ aramark.binary_sensor; - sensor = - # [{ platform = "version"; }] ++ # pyhaversion - (import ./sensor/pollen.nix) + sensor = [] + ++ [{ platform = "version"; }] # pyhaversion + ++ (import ./sensor/pollen.nix) ++ (import ./sensor/espeasy.nix) ++ (import ./sensor/airquality.nix) ++ ((import ./sensor/outside.nix) {inherit lib;}) @@ -238,6 +238,7 @@ in { "camera.Autobahn_Singen" "camera.puppies" "camera.poorly_drawn_lines" + "camera.xkcd" ]; nachtlicht = [ "switch.nachtlicht_a"