Home Presence Appdaemon App

Yeah - it connects again which causes the first connection to close:

Client appdaemon already connected, closing old connection.
Client appdaemon disconnected.

I have made some updates to the app, and its avaible on GitHub.

Well contrary to what I said about not having beacons at home, my Flowercare and Chromecast devices all showed up as beacons :sweat_smile:. But the data seems so often, I was running out of threads in Appdaemon. So I might have to look into redesigning the app, but first I want to ask if you get the same issue so I can tell its just me; as I have other process intensive apps running.

On the MQTT plugin side of things, I really couldn’t determine what the issue was. Fact is that the HASS and MQTt plugins behave differently as far as connection to endpoint. The HASS plugin establishes a connection, gets its data and closes the connection constantly in a while loop. On the other hand, the MQTT plugin just stays connected as far as I know.

Can you please check if the time delta between the connection being lost is constant?

Thanks

@Odianosen25, I’m running HASSOS in a VM and wonder how to install this.

Does it assume the host for HASSOS is the same machine as the Pi running Monitor, or is it purely communicating via MQTT (I run my broker on a completely different machine).

Cheers

Hello @baz123,

It doesn’t assume its the same machine, and as long as you point to the right broker in the plugin setup, you will be fine, regardless of where your broker is.

As to installing it, I really have no clue as I don’t use the HASSOS. I know it has something to do with docker.

You can redesign the app without the need to use the MQTT plugin, but will require you make use of events from HA.

Regards

1 Like

this app uses your mqtt plugin which at this moment still needs to be installed inside the appdaemon installation.

in HASSOS or hassio that cant be done easy. (it probably needs a rewrite from the addon or at least manipulation from files where its not wanted)

so the app should in that case be rewritten to get the mqtt data from homeassistant or pahomqtt needs to be installed and imported (and then also the app needs a big rewrite)

so at the moment i think its not an easy to use app in hassos/hassio
hassos/hassio is created for simple install and use. people who want advanced stuff like this should consider to use home assistant with another environment then hassos/hassio

@Odianosen25 @ReneTode - does this announcement change the landscape?

No it doesn’t I am afraid @baz123, this is just basically the Mosquitto broker, with a nice mqtt client to go with it.

With Appdaemon, the plugin needs to be installed within the Appdaemon docker image in the plugin folder as @ReneTode has referenced.

Regards

1 Like

like @Odianosen25 said doesnt that change anything.

you can only hope that Andrew finds the time to get the custom plugin part from AD working in the near future. (i know he will, but noy how long it wil take)
when that is implemented, then you can also add other plugins (like mqtt) to AD in a hassio environment.

2 Likes

Hey there,

I’m trying to get this AD app working. I’m running into an error and wonder if anyone could point me in the right direction!

2018-12-15 20:41:06.690754 INFO AppDaemon Version 3.0.2 starting,
2018-12-15 20:41:06.690994 INFO Configuration read from: /conf/appdaemon.yaml,
2018-12-15 20:41:06.691770 INFO AppDaemon: Starting Apps,
2018-12-15 20:41:06.692989 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin,
2018-12-15 20:41:06.714150 INFO AppDaemon: HASS: HASS Plugin Initializing,
2018-12-15 20:41:06.714386 INFO AppDaemon: HASS: HASS Plugin initialization complete,
2018-12-15 20:41:06.714506 INFO AppDaemon: Loading Plugin MQTT using class MqttPlugin from module mqttplugin,
2018-12-15 20:41:06.716129 INFO AppDaemon: MQTT: MQTT Plugin Initializing,
2018-12-15 20:41:06.716245 INFO AppDaemon: MQTT: Using 'mqtt client status' as Will Topic,
2018-12-15 20:41:06.716328 INFO AppDaemon: MQTT: Using 'mqtt client status' as Birth Topic,
2018-12-15 20:41:06.716408 INFO AppDaemon: MQTT: Using 'appdaemon_mqtt_client' as Client ID,
2018-12-15 20:41:06.716632 WARNING AppDaemon: error loading plugin: MQTT - ignoring,
2018-12-15 20:41:06.716712 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 20:41:06.717163 WARNING AppDaemon: Traceback (most recent call last):,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 313, in __init__,
    raise ValueError("Duplicate namespace: {}".format(namespace)),
ValueError: Duplicate namespace: default,
,
2018-12-15 20:41:06.717255 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 20:41:06.717364 INFO Starting Dashboards,
2018-12-15 20:41:06.719510 INFO API is disabled,
2018-12-15 20:41:06.843062 INFO AppDaemon: HASS: Connected to Home Assistant 0.84.2,
2018-12-15 20:41:06.890151 INFO AppDaemon: Got initial state from namespace default,
2018-12-15 20:41:08.866310 INFO AppDaemon: Reading config,
2018-12-15 20:41:08.868675 INFO AppDaemon: /conf/apps/apps.yaml added or modified,
2018-12-15 20:41:08.868772 INFO AppDaemon: /conf/apps/apps.yaml added or modified,
2018-12-15 20:41:08.868853 INFO AppDaemon: App 'home_presence_app' added,
2018-12-15 20:41:08.868963 INFO AppDaemon: Adding /conf/apps to module import path,
2018-12-15 20:41:08.869231 INFO AppDaemon: Loading App Module: /conf/apps/home_presence_app.py,
2018-12-15 20:41:08.872559 INFO AppDaemon: Initializing app home_presence_app using class HomePresenceApp from module home_presence_app,
2018-12-15 20:41:08.872748 WARNING AppDaemon: home_presence_app: Entity presence.monitor_state not found in AppDaemon,
2018-12-15 20:41:08.872858 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 20:41:08.872953 WARNING AppDaemon: Unexpected error running initialize() for home_presence_app,
2018-12-15 20:41:08.873028 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 20:41:08.873466 WARNING AppDaemon: Traceback (most recent call last):,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 1581, in init_object,
    init(),
  File "/conf/apps/home_presence_app.py", line 31, in initialize,
    self.set_app_state(self.monitor_entity, state = 'idle', attributes = {'location': []}) #set it to idle initially,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/plugins/mqtt/mqttapi.py", line 94, in set_app_state,
    if entity_id in self.get_state(namespace = namespace):,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/plugins/mqtt/mqttapi.py", line 82, in get_state,
    return super(Mqtt, self).get_state(namespace, entity, **kwargs),
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appapi.py", line 228, in get_state,
    return self.AD.get_state(namespace, device, entity, attribute),
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 701, in get_state,
    return deepcopy(self.state[namespace]),
KeyError: 'mqtt',
,
2018-12-15 20:41:08.873700 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 20:41:08.873939 INFO AppDaemon: App initialization complete,    

I’m running HA 84.2 and AD via Docker. It appears as if the MQTT plugin for AD was updated within the last day or so, so not sure if I should revert to an older Github version linked in this thread.

Any help is greatly appreciated!

you need to give your plugin a namespace inside appdaemon.yaml or both hass and mqtt get to default and clash with each other.

mqtt updates from the last period are for the dev version (that you dont want to try at this point :wink: )

1 Like

Ah, @ReneTode, thanks for the assist. I now see that the namespace issue is very clearly explained in the AppDaemon documentation. I should have caught that!

I’m now running into one other error and then I think I’ll be squared away…

2018-12-15 22:47:34.746314 CRITICAL AppDaemon: MQTT: Could not Complete Connection to Broker, please Ensure Broker at URL 127.0.0.1:1883 is correct or broker not down and restart Appdaemon

I’m not sure why it’s trying to connect to localhost when I have my Mosquitto broker’s IP spelled out in my appdaemon.yaml:

appdaemon:
  threads: 10
  plugins:
    MQTT:
      type: mqtt
      namespace: appdaemon-mqtt
      verbose: True
      mqtt_client_host: 192.168.7.155
      mqtt_client_port: 1883
      mqtt_client_user: !secret mqtt_user
      mqtt_client_password: !secret mqtt_password

Hoping this isn’t another silly oversight on my part. Thanks again for the help.

docker?

with docker i think you need to connect something in a file when you want to reach something outside the docker.
(sorry if my explenation is so unclear but i dont know anything about docker except that it has extra settings)

It turns out the “mqtt_” prefix was removed in late October. Removing that, it immediately connected.

appdaemon:
  threads: 10
  plugins:
    MQTT:
      type: mqtt
      namespace: appdaemon-mqtt
      verbose: True
      client_host: '192.168.7.155'
      client_port: 1883
      client_user: !secret mqtt_user
      client_password: !secret mqtt_password    

Everything appears to be functioning properly now. But, I am getting a warning about an MQTT KeyError. Not sure if that’s a problem or not. (I changed the mac addresses of known devices to 0’s for security)

2018-12-15 23:23:11.006830 INFO AppDaemon Version 3.0.2 starting,
2018-12-15 23:23:11.007116 INFO Configuration read from: /conf/appdaemon.yaml,
2018-12-15 23:23:11.008079 INFO AppDaemon: Starting Apps,
2018-12-15 23:23:11.009370 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin,
2018-12-15 23:23:11.037039 INFO AppDaemon: HASS: HASS Plugin Initializing,
2018-12-15 23:23:11.037406 INFO AppDaemon: HASS: HASS Plugin initialization complete,
2018-12-15 23:23:11.037550 INFO AppDaemon: Loading Plugin MQTT using class MqttPlugin from module mqttplugin,
2018-12-15 23:23:11.039335 INFO AppDaemon: MQTT: MQTT Plugin Initializing,
2018-12-15 23:23:11.039453 INFO AppDaemon: MQTT: Using 'mqtt client status' as Will Topic,
2018-12-15 23:23:11.039539 INFO AppDaemon: MQTT: Using 'mqtt client status' as Birth Topic,
2018-12-15 23:23:11.039624 INFO AppDaemon: MQTT: Using 'appdaemon_mqtt_client' as Client ID,
2018-12-15 23:23:11.039890 INFO Starting Dashboards,
2018-12-15 23:23:11.042057 INFO API is disabled,
2018-12-15 23:23:11.148860 INFO AppDaemon: HASS: Connected to Home Assistant 0.84.2,
2018-12-15 23:23:11.151470 INFO AppDaemon: MQTT: Connected to Broker at URL 192.168.7.155:1883,
2018-12-15 23:23:11.151604 INFO AppDaemon: MQTT: Subscribing to Topic: #,
2018-12-15 23:23:11.151730 INFO AppDaemon: MQTT: Subscription to Topic # Sucessful,
2018-12-15 23:23:11.154864 INFO AppDaemon: MQTT: *** Sending Complete State: {'mqtt.none': {'state': 'None', 'attributes': {}}} ***,
2018-12-15 23:23:11.155012 INFO AppDaemon: Got initial state from namespace appdaemon-mqtt,
2018-12-15 23:23:11.155102 INFO AppDaemon: MQTT: MQTT Plugin initialization complete,
2018-12-15 23:23:11.187100 INFO AppDaemon: Got initial state from namespace appdaemon-hass,
2018-12-15 23:23:12.626077 INFO AppDaemon: MQTT: Message Received: Topic = location/first floor/00:00:00:00:00:00, Payload = b'{"id":"00:00:00:00:00:00", "retained":"false", "version":"0.1.675", "confidence":"0","name":"Crescentwood Mac mini [mk]","timestamp":"Sat Dec 15 2018 23:23:10 GMT+0000 (UTC)","manufacturer":"Apple, Inc.","type":"GENERIC_BEACON","rssi":""}',
2018-12-15 23:23:13.169937 INFO AppDaemon: Reading config,
2018-12-15 23:23:13.172372 INFO AppDaemon: /conf/apps/apps.yaml added or modified,
2018-12-15 23:23:13.172488 INFO AppDaemon: /conf/apps/apps.yaml added or modified,
2018-12-15 23:23:13.172575 INFO AppDaemon: App 'home_presence_app' added,
2018-12-15 23:23:13.172689 INFO AppDaemon: Adding /conf/apps to module import path,
2018-12-15 23:23:13.172846 INFO AppDaemon: Loading App Module: /conf/apps/home_presence_app.py,
2018-12-15 23:23:13.175856 INFO AppDaemon: Initializing app home_presence_app using class HomePresenceApp from module home_presence_app,
2018-12-15 23:23:13.176096 WARNING AppDaemon: home_presence_app: Entity presence.monitor_state not found in AppDaemon,
2018-12-15 23:23:13.176261 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 23:23:13.176556 WARNING AppDaemon: Unexpected error running initialize() for home_presence_app,
2018-12-15 23:23:13.176701 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 23:23:13.177660 WARNING AppDaemon: Traceback (most recent call last):,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 1581, in init_object,
    init(),
  File "/conf/apps/home_presence_app.py", line 31, in initialize,
    self.set_app_state(self.monitor_entity, state = 'idle', attributes = {'location': []}) #set it to idle initially,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/plugins/mqtt/mqttapi.py", line 94, in set_app_state,
    if entity_id in self.get_state(namespace = namespace):,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/plugins/mqtt/mqttapi.py", line 82, in get_state,
    return super(Mqtt, self).get_state(namespace, entity, **kwargs),
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appapi.py", line 228, in get_state,
    return self.AD.get_state(namespace, device, entity, attribute),
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 701, in get_state,
    return deepcopy(self.state[namespace]),
KeyError: 'mqtt',
,
2018-12-15 23:23:13.177828 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-15 23:23:13.178077 INFO AppDaemon: App initialization complete,
2018-12-15 23:23:15.948833 INFO AppDaemon: MQTT: Message Received: Topic = location/first floor/00:00:00:00:00:00, Payload = b'{"id":"00:00:00:00:00:00", "retained":"false", "version":"0.1.675",     "confidence":"90","name":"Matthew\'s Apple Watch","timestamp":"Sat Dec 15 2018 23:23:15 GMT+0000 (UTC)","manufacturer":"Apple, Inc.","type":"KNOWN_MAC","rssi":""}',
2018-12-15 23:23:19.160255 INFO AppDaemon: MQTT: Message Received: Topic = location/first floor/00:00:00:00:00:00, Payload = b'{"id":"00:00:00:00:00:00", "retained":"false", "version":"0.1.675",     "confidence":"100","name":"Undiscoverable Device Name","timestamp":"Sat Dec 15 2018 23:23:18 GMT+0000 (UTC)","manufacturer":"Texas Instruments","type":"GENERIC_BEACON","rssi":"-82","rssi":"-82","adv_data":"04     3E 0C 02 01 04 00 75 8C 26 3E 31 5C 00 AE"}',
2018-12-15 23:23:24.417595 INFO AppDaemon: MQTT: Message Received: Topic = location/first floor/00:00:00:00:00:00, Payload = b'{"id":"00:00:00:00:00:00", "retained":"false", "version":"0.1.675",     "confidence":"100","name":"Matthew\'s Apple Watch","timestamp":"Sat Dec 15 2018 23:23:24 GMT+0000 (UTC)","manufacturer":"Apple, Inc.","type":"KNOWN_MAC","rssi":""}',
2018-12-15 23:23:38.923626 INFO AppDaemon: MQTT: Message Received: Topic = location/first floor/00:00:00:00:00:00, Payload = b'{"id":"00:00:00:00:00:00", "retained":"false", "version":"0.1.675",     "confidence":"27","name":"Matthew\'s MacBook Pro","timestamp":"Sat Dec 15 2018 23:23:38 GMT+0000 (UTC)","manufacturer":"Apple, Inc.\nApple, Inc.","type":"GENERIC_BEACON","rssi":"-78","rssi":"-78"}',

you have used appdaemon-mqtt as namespace and i think the app expects mqtt as namespace.
so make sure you use appdaemon-mqtt everywhere in the app for namespace or change your namespace to mqtt

@ReneTode Thanks for your patience as I get this running. I’m now getting a warning on startup and an attribute error when it tries to create the first sensor:

WARNING AppDaemon: home_presence_app: Entity presence.monitor_state not found in AppDaemon

Then, a few lines later:

AttributeError: 'HomePresenceApp' object has no attribute 'mqtt_send',

It appears the MQTT connection is working because I’m seeing a stream of known devices for the topic I’m subscribed to showing up in the logs.

2018-12-16 14:42:15.738607 INFO AppDaemon Version 3.0.2 starting,
2018-12-16 14:42:15.738845 INFO Configuration read from: /conf/appdaemon.yaml,
2018-12-16 14:42:15.739636 INFO AppDaemon: Starting Apps,
2018-12-16 14:42:15.740757 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin,
2018-12-16 14:42:15.762695 INFO AppDaemon: HASS: HASS Plugin Initializing,
2018-12-16 14:42:15.763001 INFO AppDaemon: HASS: HASS Plugin initialization complete,
2018-12-16 14:42:15.763168 INFO AppDaemon: Loading Plugin MQTT using class MqttPlugin from module mqttplugin,
2018-12-16 14:42:15.764753 INFO AppDaemon: MQTT: MQTT Plugin Initializing,
2018-12-16 14:42:15.764856 INFO AppDaemon: MQTT: Using 'mqtt client status' as Will Topic,
2018-12-16 14:42:15.764940 INFO AppDaemon: MQTT: Using 'mqtt client status' as Birth Topic,
2018-12-16 14:42:15.765022 INFO AppDaemon: MQTT: Using 'appdaemon_mqtt_client' as Client ID,
2018-12-16 14:42:15.765338 INFO Starting Dashboards,
2018-12-16 14:42:15.768547 INFO API is disabled,
2018-12-16 14:42:15.802404 INFO AppDaemon: HASS: Connected to Home Assistant 0.84.2,
2018-12-16 14:42:15.804782 INFO AppDaemon: MQTT: Connected to Broker at URL 192.168.7.155:1883,
2018-12-16 14:42:15.804901 INFO AppDaemon: MQTT: Subscribing to Topic: presence/first floor/#,
2018-12-16 14:42:15.805031 INFO AppDaemon: MQTT: Subscription to Topic presence/first floor/# Sucessful,
2018-12-16 14:42:15.809400 INFO AppDaemon: MQTT: *** Sending Complete State: {'mqtt.none': {'state': 'None', 'attributes': {}}} ***,
2018-12-16 14:42:15.809625 INFO AppDaemon: Got initial state from namespace mqtt,
2018-12-16 14:42:15.809723 INFO AppDaemon: MQTT: MQTT Plugin initialization complete,
2018-12-16 14:42:15.838908 INFO AppDaemon: Got initial state from namespace hass,
2018-12-16 14:42:17.824180 INFO AppDaemon: Reading config,
2018-12-16 14:42:17.826628 INFO AppDaemon: /conf/apps/apps.yaml added or modified,
2018-12-16 14:42:17.826734 INFO AppDaemon: /conf/apps/apps.yaml added or modified,
2018-12-16 14:42:17.826821 INFO AppDaemon: App 'home_presence_app' added,
2018-12-16 14:42:17.826935 INFO AppDaemon: Adding /conf/apps to module import path,
2018-12-16 14:42:17.827124 INFO AppDaemon: Loading App Module: /conf/apps/home_presence_app.py,
2018-12-16 14:42:17.829984 INFO AppDaemon: Initializing app home_presence_app using class HomePresenceApp from module home_presence_app,
2018-12-16 14:42:17.830159 WARNING AppDaemon: home_presence_app: Entity presence.monitor_state not found in AppDaemon,
2018-12-16 14:42:17.853481 INFO home_presence_app: Creating Binary Sensor for Everyone Not Home State,
2018-12-16 14:42:17.853649 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-16 14:42:17.853762 WARNING AppDaemon: Unexpected error running initialize() for home_presence_app,
2018-12-16 14:42:17.853844 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-16 14:42:17.853995 WARNING AppDaemon: Traceback (most recent call last):,
  File "/usr/local/lib/python3.6/site-packages/appdaemon/appdaemon.py", line 1581, in init_object,
    init(),
  File "/conf/apps/home_presence_app.py", line 45, in initialize,
    self.mqtt_send(topic, json.dumps(payload)) #send to homeassistant to create binary sensor sensor for home state,
AttributeError: 'HomePresenceApp' object has no attribute 'mqtt_send',
,
2018-12-16 14:42:17.854090 WARNING AppDaemon: ------------------------------------------------------------,
2018-12-16 14:42:17.854320 INFO AppDaemon: App initialization complete,
2018-12-16 14:43:44.009219 INFO AppDaemon: MQTT: Message Received: Topic = presence/first floor/00:00:00:00:00:00, Payload = b'{"id":"00:00:00:00:00:00", "retained":"false", "version":"0.1.675", "confidence":"100","name":"Matthew\'s MacBook Pro","timestamp":"Sun Dec 16 2018 14:43:43 GMT+0000 (UTC)","manufacturer":"Apple, Inc.\nApple, Inc.","type":"GENERIC_BEACON","rssi":"-58","rssi":"-58","adv_data":"04 3E 17 02 02 01 06 07 FF 4C 00 10 00 0B 01 00 CD 5E 33 24 0F F4 02 0B 08 C6"}',

the first warning is normal.
that appears every time when an entity that doesnt exist in HA for the first time gets a state.
its a sign that the entity is created.

i think that mqtt_send has been renamed to mqtt_publish.
the app was written in the time that mqtt wasnt included in AD and some things have changed when it was included.

That fixed it. Up and running! Thanks again.

For those using docker, here’s part of my docker-compose to get everything running.

appdaemon:
  container_name: appdaemon
  image: acockburn/appdaemon:latest
  ports:
    - 5050:5050
  volumes:
    - / [Where You Have Your docker-compose.yaml] /appdaemon:/conf
  environment:
    - HA_URL=[Home Assistant URL Here]
    - TOKEN=[Long-lived Token Here]
    - DASH_URL=[Dash URL Here]
  restart: on-failure
  depends_on:
    mosquitto:
      condition: service_started
    homeassistant:
      condition: service_healthy
  healthcheck:
    test: ["CMD", "curl", "-f", "http://127.0.0.1:5050"]
    interval: 30s
    timeout: 10s
    retries: 5
1 Like

Would you mind posting your full docker-compose please?.
I suppose you are running ha, mosquitto, (mysql/postgres)? etc in docker.
I tried to dockerize everything some time ago and gave up after struggling with postgres.
May be it is time to try again during this holidays.

@anilet I’m not yet running my Db from Postgres or MySQL. Still running from the default SQLite. I used @x99percent’s article from Reddit as the basis for building my HA Docker setup out.

version: '2.1'
services:
  grafana:
    container_name: grafana
    image: grafana/grafana
    user: "1000"
    ports:
      - 3000:3000
    volumes:
      - /opt/grafana:/etc/grafana:rw
      - /opt/grafana:/var/lib/grafana:rw
      - /etc/timezone:/etc/timezone:ro
    restart: on-failure
    depends_on:
      influxdb:
        condition: service_healthy

  influxdb:
    container_name: influxdb
    image: influxdb
    ports:
      - 8086:8086
    volumes:
      - /opt/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf:ro
      - /opt/influxdb:/var/lib/influxdb
    restart: on-failure
    healthcheck:
      test: ["CMD", "curl", "-sI", "http://127.0.0.1:8086/ping"]
      interval: 30s
      timeout: 1s
      retries: 24

  homeassistant:
    container_name: homeassistant
    image: homeassistant/home-assistant:latest
    network_mode: "host"
    volumes:
      - /opt/homeassistant:/config
      - /etc/localtime:/etc/localtime:ro
      - /etc/letsencrypt:/etc/letsencrypt:ro
    devices:
      - /dev/ttyACM0:/dev/ttyACM0:rwm
    restart: on-failure
    depends_on:
      influxdb:
        condition: service_healthy
      mosquitto:
        condition: service_started
    healthcheck:
      test: ["CMD", "curl", "-f", "http://127.0.0.1:8123"]
      interval: 30s
      timeout: 10s
      retries: 6

  node-red:
    container_name: node-red
    image: nodered/node-red-docker:v8
    ports:
      - 1880:1880
    volumes:
      - /opt/node-red:/data
      - /etc/localtime:/etc/localtime:ro
      - /etc/timezone:/etc/timezone:ro
    restart: "no" # because the exit code(s) are wrong
    depends_on:
      mosquitto:
        condition: service_started
      homeassistant:
        condition: service_healthy
    healthcheck:
      test: ["CMD", "curl", "-f", "http://127.0.0.1:1880"]
      interval: 30s
      timeout: 10s
      retries: 5

  mosquitto:
    container_name: mosquitto
    image: eclipse-mosquitto
    user: "1000:1000"
    ports:
      - 1883:1883
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /opt/mosquitto:/mosquitto/config:ro
      - /opt/mosquitto:/mosquitto/data
    restart: on-failure

  portainer:
    container_name: portainer
    image: portainer/portainer
    ports:
      - 9000:9000
    volumes:
      - /opt/portainer:/data:rw
      - /var/run/docker.sock:/var/run/docker.sock
    restart: "no" # because the exit code(s) are wrong

  organizr:
    container_name: organizr
    image: lsiocommunity/organizr
    ports:
      - 80:80
      - 443:443
    volumes:
      - /opt/organizr:/config:rw
      - /etc/letsencrypt:/etc/letsencrypt:ro
    environment:
      - PGID=1000
      - PUID=1000
    restart: on-failure
    healthcheck:
      test: ["CMD", "curl", "-f", "http://127.0.0.1"]
      interval: 30s
      timeout: 10s
      retries: 5

  dockermon:
    container_name: dockermon
    image: philhawthorne/ha-dockermon
    ports:
      - 8126:8126
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /opt/dockermon:/config
    restart: on-failure

  appdaemon:
    container_name: appdaemon
    image: acockburn/appdaemon:latest
    ports:
      - 5050:5050
    volumes:
      - /opt/appdaemon:/conf
    environment:
      - HA_URL=[HOME ASSISTANT URL GOES HERE]
      - TOKEN=[LONG LIVED TOKEN GOES HERE]
      - DASH_URL=[DASH URL GOES HERE]
    restart: on-failure
    depends_on:
      mosquitto:
        condition: service_started
      homeassistant:
        condition: service_healthy
    healthcheck:
      test: ["CMD", "curl", "-f", "http://127.0.0.1:5050"]
      interval: 30s
      timeout: 10s
      retries: 5
1 Like

Have there been any updates too this is if the github link still there latest?