Compare commits

...

2 Commits

Author SHA1 Message Date
2deab66aa1
Run main binary by default
All checks were successful
Build and deploy automation_rs / Run pre-commit checks (push) Successful in 7m42s
Build and deploy automation_rs / Build automation_rs (push) Successful in 5m8s
Build and deploy automation_rs / Build Docker image (push) Successful in 32s
Build and deploy automation_rs / Deploy Docker container (push) Has been skipped
2024-05-10 01:30:41 +02:00
b783047114
Make sure the generated lua definitions are up to date 2024-05-10 01:30:41 +02:00
4 changed files with 61 additions and 34 deletions

View File

@ -30,3 +30,13 @@ repos:
rev: v0.1.0 rev: v0.1.0
hooks: hooks:
- id: dockerfilelint - id: dockerfilelint
- repo: local
hooks:
- id: lua-definitions
name: Generate lua definitions
description: This hook generates up to date lua definitions.
entry: cargo run --bin generate_definitions
language: system
types: [rust]
pass_filenames: false

View File

@ -2,11 +2,11 @@
name = "automation" name = "automation"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"
default-run = "automation"
[workspace] [workspace]
members = ["google-home", "automation_macro", "automation_cast"] members = ["google-home", "automation_macro", "automation_cast"]
[dependencies] [dependencies]
automation_macro = { path = "./automation_macro" } automation_macro = { path = "./automation_macro" }
automation_cast = { path = "./automation_cast/" } automation_cast = { path = "./automation_cast/" }

View File

@ -181,3 +181,4 @@ function Washer.new(config) end
--- @field event_channel EventChannel --- @field event_channel EventChannel
--- @field client WrappedAsyncClient --- @field client WrappedAsyncClient
-- End of generated file

View File

@ -1,3 +1,6 @@
use std::fs::File;
use std::io::{Result, Write};
use automation::config::MqttDeviceConfig; use automation::config::MqttDeviceConfig;
use automation::devices::{ use automation::devices::{
AirFilter, AirFilterConfig, AudioSetup, AudioSetupConfig, ContactSensor, ContactSensorConfig, AirFilter, AirFilterConfig, AudioSetup, AudioSetupConfig, ContactSensor, ContactSensorConfig,
@ -7,51 +10,64 @@ use automation::devices::{
WakeOnLANConfig, Washer, WasherConfig, WakeOnLANConfig, Washer, WasherConfig,
}; };
fn main() { fn main() -> Result<()> {
println!("-- WARN: This file is automatically generated, do not manually edit\n"); let mut d = File::create("./definitions/generated.lua")?;
println!("---@meta");
println!("{}", MqttDeviceConfig::generate_lua_definition()); writeln!(
&mut d,
"-- WARN: This file is automatically generated, do not manually edit\n"
)?;
writeln!(&mut d, "---@meta")?;
println!("{}", AirFilter::generate_lua_definition()); writeln!(&mut d, "{}", MqttDeviceConfig::generate_lua_definition())?;
println!("{}", AirFilterConfig::generate_lua_definition());
println!("{}", AudioSetup::generate_lua_definition()); writeln!(&mut d, "{}", AirFilter::generate_lua_definition())?;
println!("{}", AudioSetupConfig::generate_lua_definition()); writeln!(&mut d, "{}", AirFilterConfig::generate_lua_definition())?;
println!("{}", ContactSensor::generate_lua_definition()); writeln!(&mut d, "{}", AudioSetup::generate_lua_definition())?;
println!("{}", ContactSensorConfig::generate_lua_definition()); writeln!(&mut d, "{}", AudioSetupConfig::generate_lua_definition())?;
println!("{}", PresenceDeviceConfig::generate_lua_definition());
println!("{}", TriggerConfig::generate_lua_definition());
println!("{}", DebugBridge::generate_lua_definition()); writeln!(&mut d, "{}", ContactSensor::generate_lua_definition())?;
println!("{}", DebugBridgeConfig::generate_lua_definition()); writeln!(&mut d, "{}", ContactSensorConfig::generate_lua_definition())?;
writeln!(
&mut d,
"{}",
PresenceDeviceConfig::generate_lua_definition()
)?;
writeln!(&mut d, "{}", TriggerConfig::generate_lua_definition())?;
println!("{}", HueBridge::generate_lua_definition()); writeln!(&mut d, "{}", DebugBridge::generate_lua_definition())?;
println!("{}", HueBridgeConfig::generate_lua_definition()); writeln!(&mut d, "{}", DebugBridgeConfig::generate_lua_definition())?;
println!("{}", FlagIDs::generate_lua_definition());
println!("{}", HueGroup::generate_lua_definition()); writeln!(&mut d, "{}", HueBridge::generate_lua_definition())?;
println!("{}", HueGroupConfig::generate_lua_definition()); writeln!(&mut d, "{}", HueBridgeConfig::generate_lua_definition())?;
writeln!(&mut d, "{}", FlagIDs::generate_lua_definition())?;
println!("{}", IkeaOutlet::generate_lua_definition()); writeln!(&mut d, "{}", HueGroup::generate_lua_definition())?;
println!("{}", IkeaOutletConfig::generate_lua_definition()); writeln!(&mut d, "{}", HueGroupConfig::generate_lua_definition())?;
println!("{}", KasaOutlet::generate_lua_definition()); writeln!(&mut d, "{}", IkeaOutlet::generate_lua_definition())?;
println!("{}", KasaOutletConfig::generate_lua_definition()); writeln!(&mut d, "{}", IkeaOutletConfig::generate_lua_definition())?;
println!("{}", LightSensor::generate_lua_definition()); writeln!(&mut d, "{}", KasaOutlet::generate_lua_definition())?;
println!("{}", LightSensorConfig::generate_lua_definition()); writeln!(&mut d, "{}", KasaOutletConfig::generate_lua_definition())?;
println!("{}", Ntfy::generate_lua_definition()); writeln!(&mut d, "{}", LightSensor::generate_lua_definition())?;
println!("{}", NtfyConfig::generate_lua_definition()); writeln!(&mut d, "{}", LightSensorConfig::generate_lua_definition())?;
println!("{}", Presence::generate_lua_definition()); writeln!(&mut d, "{}", Ntfy::generate_lua_definition())?;
println!("{}", PresenceConfig::generate_lua_definition()); writeln!(&mut d, "{}", NtfyConfig::generate_lua_definition())?;
println!("{}", WakeOnLAN::generate_lua_definition()); writeln!(&mut d, "{}", Presence::generate_lua_definition())?;
println!("{}", WakeOnLANConfig::generate_lua_definition()); writeln!(&mut d, "{}", PresenceConfig::generate_lua_definition())?;
println!("{}", Washer::generate_lua_definition()); writeln!(&mut d, "{}", WakeOnLAN::generate_lua_definition())?;
println!("{}", WasherConfig::generate_lua_definition()); writeln!(&mut d, "{}", WakeOnLANConfig::generate_lua_definition())?;
writeln!(&mut d, "{}", Washer::generate_lua_definition())?;
writeln!(&mut d, "{}", WasherConfig::generate_lua_definition())?;
writeln!(&mut d, "-- End of generated file")?;
Ok(())
} }