72 lines
2.1 KiB
Nix
72 lines
2.1 KiB
Nix
{ config, ... }:
|
|
let
|
|
unstable = import
|
|
(builtins.fetchTarball https://github.com/nixos/nixpkgs/tarball/nixpkgs-unstable)
|
|
# reuse the current configuration
|
|
{ config = config.nixpkgs.config; };
|
|
in {
|
|
services.home-assistant.customComponents = with unstable.home-assistant-custom-components; [
|
|
moonraker
|
|
];
|
|
|
|
services.home-assistant.config = {
|
|
sensor = [
|
|
{
|
|
platform = "rest";
|
|
name = "creality extruder";
|
|
resource = "http://k1c-63e9.cloonar.smart:7125/printer/objects/query?extruder";
|
|
value_template = "OK";
|
|
json_attributes_path = "$.result.status.extruder";
|
|
json_attributes = [
|
|
"pressure_advance"
|
|
"power"
|
|
"target"
|
|
"temperature"
|
|
];
|
|
}
|
|
{
|
|
platform = "rest";
|
|
name = "creality print stats";
|
|
resource = "http://k1c-63e9.cloonar.smart:7125/printer/objects/query?print_stats";
|
|
value_template = "OK";
|
|
json_attributes_path = "$.result.status.print_stats";
|
|
json_attributes = [
|
|
"filename"
|
|
"total_duration"
|
|
"print_duration"
|
|
"filament_used"
|
|
"state"
|
|
"message"
|
|
];
|
|
}
|
|
{
|
|
platform = "template";
|
|
sensors = {
|
|
crality_hotend_actual = {
|
|
friendly_name = "Hot End Actual";
|
|
value_template = "{{ state_attr('sensor.creality_extruder', 'temperature') | float | round(1) }}";
|
|
device_class = "temperature";
|
|
unit_of_measurement = "°C";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
"automation 3d printer state" = {
|
|
alias = "3d printer state change";
|
|
hide_entity = true;
|
|
trigger = [
|
|
{
|
|
platform = "template";
|
|
value_template = "{{ state_attr('sensor.creality_print_stats','state') == 'standby' }}";
|
|
}
|
|
];
|
|
action = {
|
|
service = "notify.mobile_app_dominiks_iphone";
|
|
data = {
|
|
message = "Printer status changed to {{ state_attr('sensor.creality_print_stats','state') }}";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|