Skip to content

Commit 04dacb0

Browse files
authored
Exclude autogen code from Execute missing errs (#100)
1 parent 2da34f3 commit 04dacb0

File tree

2 files changed

+97
-1
lines changed

2 files changed

+97
-1
lines changed

src/DaemonRunner/DaemonRunner/Service/App/CodeManager.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -499,7 +499,8 @@ private void LoadAllCodeToLoadContext()
499499

500500
foreach (var syntaxTree in syntaxTrees)
501501
{
502-
WarnIfExecuteIsMissing(syntaxTree, compilation);
502+
if (Path.GetFileName(syntaxTree.FilePath) != "_EntityExtensions.cs")
503+
WarnIfExecuteIsMissing(syntaxTree, compilation);
503504
}
504505

505506
var emitOptions = new EmitOptions(
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
using JoySoftware.HomeAssistant.NetDaemon.Common;
2+
3+
namespace Netdaemon.Generated.Extensions
4+
{
5+
public static partial class EntityExtension
6+
{
7+
public static LightEntities LightEx(this NetDaemonApp app) => new LightEntities(app);
8+
public static SwitchEntities SwitchEx(this NetDaemonApp app) => new SwitchEntities(app);
9+
public static SceneEntities SceneEx(this NetDaemonApp app) => new SceneEntities(app);
10+
public static ScriptEntities ScriptEx(this NetDaemonApp app) => new ScriptEntities(app);
11+
public static AutomationEntities AutomationEx(this NetDaemonApp app) => new AutomationEntities(app);
12+
public static MediaPlayerEntities MediaPlayerEx(this NetDaemonApp app) => new MediaPlayerEntities(app);
13+
public static CameraEntities CameraEx(this NetDaemonApp app) => new CameraEntities(app);
14+
}
15+
16+
public partial class LightEntities
17+
{
18+
private readonly NetDaemonApp _app;
19+
public LightEntities(NetDaemonApp app)
20+
{
21+
_app = app;
22+
}
23+
24+
public IEntity HallByra => _app.Entity("light.hall_byra");
25+
26+
}
27+
28+
public partial class SwitchEntities
29+
{
30+
private readonly NetDaemonApp _app;
31+
public SwitchEntities(NetDaemonApp app)
32+
{
33+
_app = app;
34+
}
35+
36+
public IEntity Switch7 => _app.Entity("switch.switch7");
37+
38+
}
39+
40+
public partial class SceneEntities
41+
{
42+
private readonly NetDaemonApp _app;
43+
public SceneEntities(NetDaemonApp app)
44+
{
45+
_app = app;
46+
}
47+
48+
public IEntity Dag => _app.Entity("scene.day");
49+
50+
}
51+
52+
public partial class ScriptEntities
53+
{
54+
private readonly NetDaemonApp _app;
55+
public ScriptEntities(NetDaemonApp app)
56+
{
57+
_app = app;
58+
}
59+
60+
public IEntity DayScene => _app.Entity("script.day_scene");
61+
}
62+
63+
public partial class AutomationEntities
64+
{
65+
private readonly NetDaemonApp _app;
66+
public AutomationEntities(NetDaemonApp app)
67+
{
68+
_app = app;
69+
}
70+
71+
public IEntity SetThemeAtStartup => _app.Entity("automation.set_theme_at_startup");
72+
}
73+
74+
public partial class MediaPlayerEntities
75+
{
76+
private readonly NetDaemonApp _app;
77+
public MediaPlayerEntities(NetDaemonApp app)
78+
{
79+
_app = app;
80+
}
81+
82+
public IMediaPlayer Tv => _app.MediaPlayer("media_player.tv");
83+
}
84+
85+
public partial class CameraEntities
86+
{
87+
private readonly NetDaemonApp _app;
88+
public CameraEntities(NetDaemonApp app)
89+
{
90+
_app = app;
91+
}
92+
93+
public ICamera MyCamera => _app.Camera("camera.my_camera");
94+
}
95+
}

0 commit comments

Comments
 (0)