text:
Network Topology blank

Bug Report
Version of OpenNebula

[ ] 5.2.2
[ ] 5.4.0
[ ] 5.4.1
[ ] 5.4.2
[ ] 5.4.3
[ ] 5.4.4
[ ] 5.4.5
[x] 5.4.6
[ ] 5.4.7
[ ] Development build

Component

[ ] Authorization (LDAP, x509 certs...)
[ ] Command Line Interface (CLI)
[ ] Contextualization
[ ] Documentation
[ ] Federation and HA
[ ] Host, Clusters and Monitorization
[ ] KVM
[ ] Networking
[ ] Orchestration (OpenNebula Flow)
[ ] Packages
[ ] Scheduler
[ ] Storage & Images
[x] Sunstone
[ ] Upgrades
[ ] User, Groups, VDCs and ACL
[ ] vCenter

Description
Sunstone's network topology page doesn't show any network / VM anymore.

Expected Behavior
Show topology as expected
Actual Behavior
Blank page with latest Chrome, Firefox and Edge
How to reproduce

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Hi, @tkald
I can't reproduce it.

Can you provide me more info?

I have around 10 networks. Haven't checked topology recently but with version 5.4.6 it's first time, I see blank topology. Here's html code Chrome shows for topology element:

<canvas style="position: relative; touch-action: none; user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); width: 100%; height: 100%;" width="953" height="674"></canvas>

One running Ubuntu 16.04. No errors in sunstone log.
Also Sunstone runs behind Nginx, here is conf:
upstream sunstone {
  server 127.0.0.1:9869;
}

server {
  server_name ****;
  listen 80 default_server;
  return 301 https://$server_name:443;
}

server {

  listen 443 ssl default_server;
  server_name ****;
  server_name_in_redirect off;
  port_in_redirect off;

  access_log syslog:server=192.168.40.210:12303 graylog2_format;
  error_log syslog:server=192.168.40.210:12304;

  client_max_body_size      50g;
  client_body_buffer_size   128k;
  client_body_temp_path /var/tmp;

  ssl_certificate /etc/nginx/sslwild/star.pem;
  ssl_certificate_key /etc/nginx/sslwild/star.pem;
  ssl_stapling on;

  location /appmarket/ {
         root /mnt/ceph;
  }

  location / {
        proxy_set_header        X-Real-IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header        Host $http_host;
        proxy_pass http://sunstone;
  }
}

Any other info I can provide?

Same here on 5.4.7, topology is blank

Srry, I still can't reproduce it.
You can see if there is anything relevant in the browser console (DevTool)?

I can see all the XHR call for each vnet (we have ~4000 so it takes 80s) and after getting all the vnets:
Error: Cannot add item: item with id vm105 already exists vis.min.js:13
	o.prototype._addItem vis.min.js:13
	o.prototype.add vis.min.js:12
	value vis.min.js:22
	n.prototype.setData vis.min.js:21
	n vis.min.js:21
	_doTopology vnets-topology-tab.js:487
	success vnets-topology-tab.js:128
	success action.js:273
	fire jquery.js:3187
	fireWith jquery.js:3317
	done jquery.js:8785
	callback/< jquery.js:9151

I hope this is helpful.
Best regards,
Edouard

Can you provide me the vnets templates?

I've got exactly 3524 vnet templates, which one do you want ?
We have 10 generated vnet per user. They all look like this one:
<VNET>
  <ID>635</ID>
  <UID>70</UID>
  <GID>0</GID>
  <UNAME>user01</UNAME>
  <GNAME>oneadmin</GNAME>
  <NAME>user01_vnet0</NAME>
  <PERMISSIONS>
    <OWNER_U>1</OWNER_U>
    <OWNER_M>1</OWNER_M>
    <OWNER_A>0</OWNER_A>
    <GROUP_U>0</GROUP_U>
    <GROUP_M>0</GROUP_M>
    <GROUP_A>0</GROUP_A>
    <OTHER_U>0</OTHER_U>
    <OTHER_M>0</OTHER_M>
    <OTHER_A>0</OTHER_A>
  </PERMISSIONS>
  <CLUSTERS>
    <ID>0</ID>
  </CLUSTERS>
  <BRIDGE><![CDATA[br0]]></BRIDGE>
  <PARENT_NETWORK_ID/>
  <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
  <PHYDEV/>
  <VLAN_ID><![CDATA[2690]]></VLAN_ID>
  <VLAN_ID_AUTOMATIC>0</VLAN_ID_AUTOMATIC>
  <USED_LEASES>0</USED_LEASES>
  <VROUTERS/>
  <TEMPLATE>
    <BRIDGE><![CDATA[br0]]></BRIDGE>
    <DESCRIPTION><![CDATA[vnet0 dédié pour user01]]></DESCRIPTION>
    <GROUP><![CDATA[vision]]></GROUP>
    <PHYDEV><![CDATA[]]></PHYDEV>
    <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
    <USER><![CDATA[user01]]></USER>
    <VLAN_ID><![CDATA[2690]]></VLAN_ID>
    <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
  </TEMPLATE>
  <AR_POOL>
    <AR>
      <AR_ID><![CDATA[0]]></AR_ID>
      <MAC><![CDATA[02:00:03:08:12:c3]]></MAC>
      <SIZE><![CDATA[254]]></SIZE>
      <TYPE><![CDATA[ETHER]]></TYPE>
      <MAC_END><![CDATA[02:00:03:08:13:c0]]></MAC_END>
      <USED_LEASES>0</USED_LEASES>
      <LEASES/>
    </AR>
  </AR_POOL>
</VNET>

Then we have lots of openvswitch vnet:
  <ID>2393</ID>
  <UID>0</UID>
  <GID>101</GID>
  <UNAME>oneadmin</UNAME>
  <GNAME>architecte</GNAME>
  <NAME>vi2a_virt</NAME>
  <PERMISSIONS>
    <OWNER_U>1</OWNER_U>
    <OWNER_M>1</OWNER_M>
    <OWNER_A>0</OWNER_A>
    <GROUP_U>1</GROUP_U>
    <GROUP_M>0</GROUP_M>
    <GROUP_A>0</GROUP_A>
    <OTHER_U>0</OTHER_U>
    <OTHER_M>0</OTHER_M>
    <OTHER_A>0</OTHER_A>
  </PERMISSIONS>
  <CLUSTERS>
    <ID>0</ID>
  </CLUSTERS>
  <BRIDGE><![CDATA[brvx9100]]></BRIDGE>
  <PARENT_NETWORK_ID/>
  <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
  <PHYDEV><![CDATA[vlan4060]]></PHYDEV>
  <VLAN_ID><![CDATA[99]]></VLAN_ID>
  <VLAN_ID_AUTOMATIC>0</VLAN_ID_AUTOMATIC>
  <USED_LEASES>43</USED_LEASES>
  <VROUTERS/>
  <TEMPLATE>
    <BRIDGE><![CDATA[brvx9100]]></BRIDGE>
    <PHYDEV><![CDATA[vlan4060]]></PHYDEV>
    <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
    <VLAN_ID><![CDATA[99]]></VLAN_ID>
    <VLAN_TAGGED_ID><![CDATA[2,50-4000]]></VLAN_TAGGED_ID>
    <VNI><![CDATA[9100]]></VNI>
    <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
  </TEMPLATE>
  <AR_POOL>
    <AR>
      <AR_ID><![CDATA[0]]></AR_ID>
      <MAC><![CDATA[02:00:b4:52:e5:bc]]></MAC>
      <SIZE><![CDATA[254]]></SIZE>
      <TYPE><![CDATA[ETHER]]></TYPE>
      <MAC_END><![CDATA[02:00:b4:52:e6:b9]]></MAC_END>
      <USED_LEASES>30</USED_LEASES>
      <LEASES>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:bc]]></MAC>
          <VM><![CDATA[716]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:bd]]></MAC>
          <VM><![CDATA[716]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:be]]></MAC>
          <VM><![CDATA[3713]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:bf]]></MAC>
          <VM><![CDATA[3571]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c0]]></MAC>
          <VM><![CDATA[3570]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c1]]></MAC>
          <VM><![CDATA[3569]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c2]]></MAC>
          <VM><![CDATA[3568]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c3]]></MAC>
          <VM><![CDATA[4182]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c4]]></MAC>
          <VM><![CDATA[4609]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c5]]></MAC>
          <VM><![CDATA[4609]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c6]]></MAC>
          <VM><![CDATA[4612]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c7]]></MAC>
          <VM><![CDATA[4612]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c8]]></MAC>
          <VM><![CDATA[4617]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:c9]]></MAC>
          <VM><![CDATA[4617]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:ca]]></MAC>
          <VM><![CDATA[4617]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:cb]]></MAC>
          <VM><![CDATA[4626]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:cc]]></MAC>
          <VM><![CDATA[4614]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:cd]]></MAC>
          <VM><![CDATA[4614]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:ce]]></MAC>
          <VM><![CDATA[4613]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:cf]]></MAC>
          <VM><![CDATA[4613]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d0]]></MAC>
          <VM><![CDATA[4866]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d1]]></MAC>
          <VM><![CDATA[4863]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d2]]></MAC>
          <VM><![CDATA[4841]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d3]]></MAC>
          <VM><![CDATA[4899]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d4]]></MAC>
          <VM><![CDATA[4844]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d5]]></MAC>
          <VM><![CDATA[4886]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d6]]></MAC>
          <VM><![CDATA[4864]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d8]]></MAC>
          <VM><![CDATA[4892]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:d9]]></MAC>
          <VM><![CDATA[4904]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[02:00:b4:52:e5:da]]></MAC>
          <VM><![CDATA[4906]]></VM>
        </LEASE>
      </LEASES>
    </AR>
    <AR>
      <AR_ID><![CDATA[1]]></AR_ID>
      <MAC><![CDATA[00:16:3e:00:00:00]]></MAC>
      <SIZE><![CDATA[16581375]]></SIZE>
      <TYPE><![CDATA[ETHER]]></TYPE>
      <MAC_END><![CDATA[00:16:3e:fd:02:fe]]></MAC_END>
      <USED_LEASES>13</USED_LEASES>
      <LEASES>
        <LEASE>
          <MAC><![CDATA[00:16:3e:11:ad:52]]></MAC>
          <VM><![CDATA[4614]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:20:42:59]]></MAC>
          <VM><![CDATA[4617]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:21:30:d7]]></MAC>
          <VM><![CDATA[4817]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:29:1d:ac]]></MAC>
          <VM><![CDATA[4613]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:2c:0a:a5]]></MAC>
          <VM><![CDATA[4609]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:33:4c:59]]></MAC>
          <VM><![CDATA[4820]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:3b:53:4d]]></MAC>
          <VM><![CDATA[4819]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:3f:22:55]]></MAC>
          <VM><![CDATA[4816]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:53:c4:d5]]></MAC>
          <VM><![CDATA[4818]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:6a:80:f4]]></MAC>
          <VM><![CDATA[4612]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:6f:3b:f2]]></MAC>
          <VM><![CDATA[4563]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:78:34:07]]></MAC>
          <VM><![CDATA[4629]]></VM>
        </LEASE>
        <LEASE>
          <MAC><![CDATA[00:16:3e:7d:8c:e0]]></MAC>
          <VM><![CDATA[4615]]></VM>
        </LEASE>
      </LEASES>
    </AR>
  </AR_POOL>
</VNET>

is that useful ?

Oh! one important thing, VM are often attached twice or more on the same vnet (to simulate bonding/teaming nic). I'm thinking about that because of the JS error saying that the VM already exists. Have you taken care of this use case?

Ok, I have created a VM with 2 interfaces (the same VNet), so when the topology is generated, the id of that VM would appear twice in the same VNet: it's work fine for me.
Can you send me the template of the VM that fails (vm105) and thus be able to create the associated VNets and reproduce exactly your problem?

I'm on an other environment this day, and error is on VM 3743. So here is the XML concerning this VM:
<VM>
  <ID>3743</ID>
  <UID>22</UID>
  <GID>100</GID>
  <UNAME>user01</UNAME>
  <GNAME>vision</GNAME>
  <NAME>deployer0.s277</NAME>
  <PERMISSIONS>
    <OWNER_U>1</OWNER_U>
    <OWNER_M>1</OWNER_M>
    <OWNER_A>0</OWNER_A>
    <GROUP_U>0</GROUP_U>
    <GROUP_M>0</GROUP_M>
    <GROUP_A>0</GROUP_A>
    <OTHER_U>0</OTHER_U>
    <OTHER_M>0</OTHER_M>
    <OTHER_A>0</OTHER_A>
  </PERMISSIONS>
  <LAST_POLL>1521551615</LAST_POLL>
  <STATE>3</STATE>
  <LCM_STATE>3</LCM_STATE>
  <PREV_STATE>3</PREV_STATE>
  <PREV_LCM_STATE>3</PREV_LCM_STATE>
  <RESCHED>0</RESCHED>
  <STIME>1510072951</STIME>
  <ETIME>0</ETIME>
  <DEPLOY_ID>one-3743</DEPLOY_ID>
  <MONITORING>
    <CPU><![CDATA[1.99]]></CPU>
    <DISKRDBYTES><![CDATA[1900526160]]></DISKRDBYTES>
    <DISKRDIOPS><![CDATA[65731]]></DISKRDIOPS>
    <DISKWRBYTES><![CDATA[5008848896]]></DISKWRBYTES>
    <DISKWRIOPS><![CDATA[253801]]></DISKWRIOPS>
    <DISK_SIZE>
      <ID><![CDATA[0]]></ID>
      <SIZE><![CDATA[1633]]></SIZE>
    </DISK_SIZE>
    <DISK_SIZE>
      <ID><![CDATA[1]]></ID>
      <SIZE><![CDATA[1]]></SIZE>
    </DISK_SIZE>
    <DISK_SIZE>
      <ID><![CDATA[2]]></ID>
      <SIZE><![CDATA[1214]]></SIZE>
    </DISK_SIZE>
    <DISK_SIZE>
      <ID><![CDATA[3]]></ID>
      <SIZE><![CDATA[1]]></SIZE>
    </DISK_SIZE>
    <MEMORY><![CDATA[8388608]]></MEMORY>
    <NETRX><![CDATA[130407739739]]></NETRX>
    <NETTX><![CDATA[2574459842]]></NETTX>
    <SNAPSHOT_SIZE>
      <DISK_ID><![CDATA[0]]></DISK_ID>
      <ID><![CDATA[0]]></ID>
      <SIZE><![CDATA[1633]]></SIZE>
    </SNAPSHOT_SIZE>
    <STATE><![CDATA[a]]></STATE>
  </MONITORING>
  <TEMPLATE>
    <AUTOMATIC_DS_REQUIREMENTS><![CDATA["CLUSTERS/ID" @> 0]]></AUTOMATIC_DS_REQUIREMENTS>
    <AUTOMATIC_REQUIREMENTS><![CDATA[(CLUSTER_ID = 0) & !(PUBLIC_CLOUD = YES)]]></AUTOMATIC_REQUIREMENTS>
    <CONTEXT>
      <DISK_ID><![CDATA[3]]></DISK_ID>
      <ETH0_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH0_CONTEXT_FORCE_IPV4>
      <ETH0_DNS><![CDATA[]]></ETH0_DNS>
      <ETH0_GATEWAY><![CDATA[]]></ETH0_GATEWAY>
      <ETH0_GATEWAY6><![CDATA[]]></ETH0_GATEWAY6>
      <ETH0_IP><![CDATA[172.16.0.1]]></ETH0_IP>
      <ETH0_IP6><![CDATA[]]></ETH0_IP6>
      <ETH0_IP6_PREFIX_LENGTH><![CDATA[]]></ETH0_IP6_PREFIX_LENGTH>
      <ETH0_IP6_ULA><![CDATA[]]></ETH0_IP6_ULA>
      <ETH0_MAC><![CDATA[02:00:ac:10:00:01]]></ETH0_MAC>
      <ETH0_MASK><![CDATA[]]></ETH0_MASK>
      <ETH0_MTU><![CDATA[]]></ETH0_MTU>
      <ETH0_NETWORK><![CDATA[]]></ETH0_NETWORK>
      <ETH0_SEARCH_DOMAIN><![CDATA[]]></ETH0_SEARCH_DOMAIN>
      <ETH0_VLAN_ID><![CDATA[2157]]></ETH0_VLAN_ID>
      <ETH0_VROUTER_IP><![CDATA[]]></ETH0_VROUTER_IP>
      <ETH0_VROUTER_IP6><![CDATA[]]></ETH0_VROUTER_IP6>
      <ETH0_VROUTER_MANAGEMENT><![CDATA[]]></ETH0_VROUTER_MANAGEMENT>
      <ETH1_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH1_CONTEXT_FORCE_IPV4>
      <ETH1_DNS><![CDATA[]]></ETH1_DNS>
      <ETH1_GATEWAY><![CDATA[]]></ETH1_GATEWAY>
      <ETH1_GATEWAY6><![CDATA[]]></ETH1_GATEWAY6>
      <ETH1_IP><![CDATA[]]></ETH1_IP>
      <ETH1_IP6><![CDATA[]]></ETH1_IP6>
      <ETH1_IP6_PREFIX_LENGTH><![CDATA[]]></ETH1_IP6_PREFIX_LENGTH>
      <ETH1_IP6_ULA><![CDATA[]]></ETH1_IP6_ULA>
      <ETH1_MAC><![CDATA[02:00:39:bd:d7:12]]></ETH1_MAC>
      <ETH1_MASK><![CDATA[]]></ETH1_MASK>
      <ETH1_MTU><![CDATA[]]></ETH1_MTU>
      <ETH1_NETWORK><![CDATA[]]></ETH1_NETWORK>
      <ETH1_SEARCH_DOMAIN><![CDATA[]]></ETH1_SEARCH_DOMAIN>
      <ETH1_VLAN_ID><![CDATA[2158]]></ETH1_VLAN_ID>
      <ETH1_VROUTER_IP><![CDATA[]]></ETH1_VROUTER_IP>
      <ETH1_VROUTER_IP6><![CDATA[]]></ETH1_VROUTER_IP6>
      <ETH1_VROUTER_MANAGEMENT><![CDATA[]]></ETH1_VROUTER_MANAGEMENT>
      <ETH2_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH2_CONTEXT_FORCE_IPV4>
      <ETH2_DNS><![CDATA[]]></ETH2_DNS>
      <ETH2_GATEWAY><![CDATA[]]></ETH2_GATEWAY>
      <ETH2_GATEWAY6><![CDATA[]]></ETH2_GATEWAY6>
      <ETH2_IP><![CDATA[]]></ETH2_IP>
      <ETH2_IP6><![CDATA[]]></ETH2_IP6>
      <ETH2_IP6_PREFIX_LENGTH><![CDATA[]]></ETH2_IP6_PREFIX_LENGTH>
      <ETH2_IP6_ULA><![CDATA[]]></ETH2_IP6_ULA>
      <ETH2_MAC><![CDATA[02:00:0b:d3:df:d1]]></ETH2_MAC>
      <ETH2_MASK><![CDATA[]]></ETH2_MASK>
      <ETH2_MTU><![CDATA[]]></ETH2_MTU>
      <ETH2_NETWORK><![CDATA[]]></ETH2_NETWORK>
      <ETH2_SEARCH_DOMAIN><![CDATA[]]></ETH2_SEARCH_DOMAIN>
      <ETH2_VLAN_ID><![CDATA[2159]]></ETH2_VLAN_ID>
      <ETH2_VROUTER_IP><![CDATA[]]></ETH2_VROUTER_IP>
      <ETH2_VROUTER_IP6><![CDATA[]]></ETH2_VROUTER_IP6>
      <ETH2_VROUTER_MANAGEMENT><![CDATA[]]></ETH2_VROUTER_MANAGEMENT>
      <ETH3_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH3_CONTEXT_FORCE_IPV4>
      <ETH3_DNS><![CDATA[]]></ETH3_DNS>
      <ETH3_GATEWAY><![CDATA[]]></ETH3_GATEWAY>
      <ETH3_GATEWAY6><![CDATA[]]></ETH3_GATEWAY6>
      <ETH3_IP><![CDATA[]]></ETH3_IP>
      <ETH3_IP6><![CDATA[]]></ETH3_IP6>
      <ETH3_IP6_PREFIX_LENGTH><![CDATA[]]></ETH3_IP6_PREFIX_LENGTH>
      <ETH3_IP6_ULA><![CDATA[]]></ETH3_IP6_ULA>
      <ETH3_MAC><![CDATA[02:00:fa:de:d3:e6]]></ETH3_MAC>
      <ETH3_MASK><![CDATA[]]></ETH3_MASK>
      <ETH3_MTU><![CDATA[]]></ETH3_MTU>
      <ETH3_NETWORK><![CDATA[]]></ETH3_NETWORK>
      <ETH3_SEARCH_DOMAIN><![CDATA[]]></ETH3_SEARCH_DOMAIN>
      <ETH3_VLAN_ID><![CDATA[2348]]></ETH3_VLAN_ID>
      <ETH3_VROUTER_IP><![CDATA[]]></ETH3_VROUTER_IP>
      <ETH3_VROUTER_IP6><![CDATA[]]></ETH3_VROUTER_IP6>
      <ETH3_VROUTER_MANAGEMENT><![CDATA[]]></ETH3_VROUTER_MANAGEMENT>
      <ETH4_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH4_CONTEXT_FORCE_IPV4>
      <ETH4_DNS><![CDATA[]]></ETH4_DNS>
      <ETH4_GATEWAY><![CDATA[]]></ETH4_GATEWAY>
      <ETH4_GATEWAY6><![CDATA[]]></ETH4_GATEWAY6>
      <ETH4_IP><![CDATA[]]></ETH4_IP>
      <ETH4_IP6><![CDATA[]]></ETH4_IP6>
      <ETH4_IP6_PREFIX_LENGTH><![CDATA[]]></ETH4_IP6_PREFIX_LENGTH>
      <ETH4_IP6_ULA><![CDATA[]]></ETH4_IP6_ULA>
      <ETH4_MAC><![CDATA[02:00:5d:4f:15:ad]]></ETH4_MAC>
      <ETH4_MASK><![CDATA[]]></ETH4_MASK>
      <ETH4_MTU><![CDATA[]]></ETH4_MTU>
      <ETH4_NETWORK><![CDATA[]]></ETH4_NETWORK>
      <ETH4_SEARCH_DOMAIN><![CDATA[]]></ETH4_SEARCH_DOMAIN>
      <ETH4_VLAN_ID><![CDATA[2349]]></ETH4_VLAN_ID>
      <ETH4_VROUTER_IP><![CDATA[]]></ETH4_VROUTER_IP>
      <ETH4_VROUTER_IP6><![CDATA[]]></ETH4_VROUTER_IP6>
      <ETH4_VROUTER_MANAGEMENT><![CDATA[]]></ETH4_VROUTER_MANAGEMENT>
      <ETH5_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH5_CONTEXT_FORCE_IPV4>
      <ETH5_DNS><![CDATA[]]></ETH5_DNS>
      <ETH5_GATEWAY><![CDATA[]]></ETH5_GATEWAY>
      <ETH5_GATEWAY6><![CDATA[]]></ETH5_GATEWAY6>
      <ETH5_IP><![CDATA[]]></ETH5_IP>
      <ETH5_IP6><![CDATA[]]></ETH5_IP6>
      <ETH5_IP6_PREFIX_LENGTH><![CDATA[]]></ETH5_IP6_PREFIX_LENGTH>
      <ETH5_IP6_ULA><![CDATA[]]></ETH5_IP6_ULA>
      <ETH5_MAC><![CDATA[02:00:12:ca:3d:ac]]></ETH5_MAC>
      <ETH5_MASK><![CDATA[]]></ETH5_MASK>
      <ETH5_MTU><![CDATA[]]></ETH5_MTU>
      <ETH5_NETWORK><![CDATA[]]></ETH5_NETWORK>
      <ETH5_SEARCH_DOMAIN><![CDATA[]]></ETH5_SEARCH_DOMAIN>
      <ETH5_VLAN_ID><![CDATA[2350]]></ETH5_VLAN_ID>
      <ETH5_VROUTER_IP><![CDATA[]]></ETH5_VROUTER_IP>
      <ETH5_VROUTER_IP6><![CDATA[]]></ETH5_VROUTER_IP6>
      <ETH5_VROUTER_MANAGEMENT><![CDATA[]]></ETH5_VROUTER_MANAGEMENT>
      <ETH6_CONTEXT_FORCE_IPV4><![CDATA[]]></ETH6_CONTEXT_FORCE_IPV4>
      <ETH6_DNS><![CDATA[10.154.59.104]]></ETH6_DNS>
      <ETH6_GATEWAY><![CDATA[10.156.0.1]]></ETH6_GATEWAY>
      <ETH6_GATEWAY6><![CDATA[]]></ETH6_GATEWAY6>
      <ETH6_IP><![CDATA[10.156.16.217]]></ETH6_IP>
      <ETH6_IP6><![CDATA[]]></ETH6_IP6>
      <ETH6_IP6_PREFIX_LENGTH><![CDATA[]]></ETH6_IP6_PREFIX_LENGTH>
      <ETH6_IP6_ULA><![CDATA[]]></ETH6_IP6_ULA>
      <ETH6_MAC><![CDATA[02:00:0a:9c:10:d9]]></ETH6_MAC>
      <ETH6_MASK><![CDATA[255.255.224.0]]></ETH6_MASK>
      <ETH6_MTU><![CDATA[]]></ETH6_MTU>
      <ETH6_NETWORK><![CDATA[]]></ETH6_NETWORK>
      <ETH6_SEARCH_DOMAIN><![CDATA[]]></ETH6_SEARCH_DOMAIN>
      <ETH6_VLAN_ID><![CDATA[4001]]></ETH6_VLAN_ID>
      <ETH6_VROUTER_IP><![CDATA[]]></ETH6_VROUTER_IP>
      <ETH6_VROUTER_IP6><![CDATA[]]></ETH6_VROUTER_IP6>
      <ETH6_VROUTER_MANAGEMENT><![CDATA[]]></ETH6_VROUTER_MANAGEMENT>
      <NETWORK><![CDATA[YES]]></NETWORK>
      <SSH_PUBLIC_KEY><![CDATA[ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTwGeJ5lb9omQJJ8vtb3g24=]]></SSH_PUBLIC_KEY>
      <TARGET><![CDATA[hda]]></TARGET>
    </CONTEXT>
    <CPU><![CDATA[0.1]]></CPU>
    <DISK>
      <ALLOW_ORPHANS><![CDATA[NO]]></ALLOW_ORPHANS>
      <CLONE><![CDATA[YES]]></CLONE>
      <CLONE_TARGET><![CDATA[SYSTEM]]></CLONE_TARGET>
      <CLUSTER_ID><![CDATA[0,101]]></CLUSTER_ID>
      <DATASTORE><![CDATA[netapp_srv02]]></DATASTORE>
      <DATASTORE_ID><![CDATA[101]]></DATASTORE_ID>
      <DEV_PREFIX><![CDATA[vd]]></DEV_PREFIX>
      <DISK_ID><![CDATA[0]]></DISK_ID>
      <DISK_SNAPSHOT_TOTAL_SIZE><![CDATA[0]]></DISK_SNAPSHOT_TOTAL_SIZE>
      <DISK_TYPE><![CDATA[FILE]]></DISK_TYPE>
      <DRIVER><![CDATA[qcow2]]></DRIVER>
      <IMAGE><![CDATA[kolla-centos-controller-disk-0]]></IMAGE>
      <IMAGE_ID><![CDATA[264]]></IMAGE_ID>
      <IMAGE_STATE><![CDATA[2]]></IMAGE_STATE>
      <LN_TARGET><![CDATA[NONE]]></LN_TARGET>
      <ORIGINAL_SIZE><![CDATA[8192]]></ORIGINAL_SIZE>
      <READONLY><![CDATA[NO]]></READONLY>
      <SAVE><![CDATA[NO]]></SAVE>
      <SIZE><![CDATA[8192]]></SIZE>
      <SOURCE><![CDATA[/var/lib/one//datastores/101/9bca7d2a07dce8e39347a0d151847cd7]]></SOURCE>
      <TARGET><![CDATA[vda]]></TARGET>
      <TM_MAD><![CDATA[qcow2]]></TM_MAD>
      <TYPE><![CDATA[FILE]]></TYPE>
    </DISK>
    <DISK>
      <ALLOW_ORPHANS><![CDATA[NO]]></ALLOW_ORPHANS>
      <CACHE><![CDATA[none]]></CACHE>
      <CLUSTER_ID><![CDATA[0,101]]></CLUSTER_ID>
      <DATASTORE><![CDATA[netapp_srv03]]></DATASTORE>
      <DATASTORE_ID><![CDATA[104]]></DATASTORE_ID>
      <DEV_PREFIX><![CDATA[vd]]></DEV_PREFIX>
      <DISK_ID><![CDATA[1]]></DISK_ID>
      <DISK_TYPE><![CDATA[FILE]]></DISK_TYPE>
      <DRIVER><![CDATA[qcow2]]></DRIVER>
      <FORMAT><![CDATA[qcow2]]></FORMAT>
      <SIZE><![CDATA[51200]]></SIZE>
      <TARGET><![CDATA[vdb]]></TARGET>
      <TM_MAD><![CDATA[qcow2]]></TM_MAD>
      <TYPE><![CDATA[fs]]></TYPE>
    </DISK>
    <DISK>
      <ALLOW_ORPHANS><![CDATA[NO]]></ALLOW_ORPHANS>
      <CACHE><![CDATA[none]]></CACHE>
      <CLUSTER_ID><![CDATA[0,101]]></CLUSTER_ID>
      <DATASTORE><![CDATA[netapp_srv03]]></DATASTORE>
      <DATASTORE_ID><![CDATA[104]]></DATASTORE_ID>
      <DEV_PREFIX><![CDATA[vd]]></DEV_PREFIX>
      <DISK_ID><![CDATA[2]]></DISK_ID>
      <DISK_TYPE><![CDATA[FILE]]></DISK_TYPE>
      <DRIVER><![CDATA[qcow2]]></DRIVER>
      <FORMAT><![CDATA[qcow2]]></FORMAT>
      <SIZE><![CDATA[51200]]></SIZE>
      <TARGET><![CDATA[vdc]]></TARGET>
      <TM_MAD><![CDATA[qcow2]]></TM_MAD>
      <TYPE><![CDATA[fs]]></TYPE>
    </DISK>
    <GRAPHICS>
      <LISTEN><![CDATA[0.0.0.0]]></LISTEN>
      <PORT><![CDATA[9643]]></PORT>
      <TYPE><![CDATA[VNC]]></TYPE>
    </GRAPHICS>
    <MEMORY><![CDATA[8192]]></MEMORY>
    <NIC>
      <AR_ID><![CDATA[11]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <IP><![CDATA[172.16.0.1]]></IP>
      <MAC><![CDATA[02:00:ac:10:00:01]]></MAC>
      <NETWORK><![CDATA[admin]]></NETWORK>
      <NETWORK_ID><![CDATA[38]]></NETWORK_ID>
      <NIC_ID><![CDATA[0]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-0]]></TARGET>
      <VLAN_ID><![CDATA[2157]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <NIC>
      <AR_ID><![CDATA[1]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <MAC><![CDATA[02:00:39:bd:d7:12]]></MAC>
      <NETWORK><![CDATA[network_interface]]></NETWORK>
      <NETWORK_ID><![CDATA[77]]></NETWORK_ID>
      <NIC_ID><![CDATA[1]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-1]]></TARGET>
      <VLAN_ID><![CDATA[2158]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <NIC>
      <AR_ID><![CDATA[1]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <MAC><![CDATA[02:00:0b:d3:df:d1]]></MAC>
      <NETWORK><![CDATA[api_interface]]></NETWORK>
      <NETWORK_ID><![CDATA[116]]></NETWORK_ID>
      <NIC_ID><![CDATA[2]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-2]]></TARGET>
      <VLAN_ID><![CDATA[2159]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <NIC>
      <AR_ID><![CDATA[0]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <MAC><![CDATA[02:00:fa:de:d3:e6]]></MAC>
      <NETWORK><![CDATA[storage_interface]]></NETWORK>
      <NETWORK_ID><![CDATA[195]]></NETWORK_ID>
      <NIC_ID><![CDATA[3]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-3]]></TARGET>
      <VLAN_ID><![CDATA[2348]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <NIC>
      <AR_ID><![CDATA[0]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <MAC><![CDATA[02:00:5d:4f:15:ad]]></MAC>
      <NETWORK><![CDATA[tunnel_interface]]></NETWORK>
      <NETWORK_ID><![CDATA[234]]></NETWORK_ID>
      <NIC_ID><![CDATA[4]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-4]]></TARGET>
      <VLAN_ID><![CDATA[2349]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <NIC>
      <AR_ID><![CDATA[0]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <MAC><![CDATA[02:00:12:ca:3d:ac]]></MAC>
      <NETWORK><![CDATA[neutron_external_interface]]></NETWORK>
      <NETWORK_ID><![CDATA[273]]></NETWORK_ID>
      <NIC_ID><![CDATA[5]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-5]]></TARGET>
      <VLAN_ID><![CDATA[2350]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <NIC>
      <AR_ID><![CDATA[2]]></AR_ID>
      <BRIDGE><![CDATA[br0]]></BRIDGE>
      <CLUSTER_ID><![CDATA[0]]></CLUSTER_ID>
      <IP><![CDATA[10.156.16.217]]></IP>
      <MAC><![CDATA[02:00:0a:9c:10:d9]]></MAC>
      <NETWORK><![CDATA[wan_fixe]]></NETWORK>
      <NETWORK_ID><![CDATA[444]]></NETWORK_ID>
      <NIC_ID><![CDATA[6]]></NIC_ID>
      <SECURITY_GROUPS><![CDATA[0]]></SECURITY_GROUPS>
      <TARGET><![CDATA[one-3743-6]]></TARGET>
      <VLAN_ID><![CDATA[4001]]></VLAN_ID>
      <VN_MAD><![CDATA[ovswitch]]></VN_MAD>
    </NIC>
    <OS>
      <BOOT><![CDATA[]]></BOOT>
    </OS>
    <SECURITY_GROUP_RULE>
      <PROTOCOL><![CDATA[ALL]]></PROTOCOL>
      <RULE_TYPE><![CDATA[OUTBOUND]]></RULE_TYPE>
      <SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID>
      <SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME>
    </SECURITY_GROUP_RULE>
    <SECURITY_GROUP_RULE>
      <PROTOCOL><![CDATA[ALL]]></PROTOCOL>
      <RULE_TYPE><![CDATA[INBOUND]]></RULE_TYPE>
      <SECURITY_GROUP_ID><![CDATA[0]]></SECURITY_GROUP_ID>
      <SECURITY_GROUP_NAME><![CDATA[default]]></SECURITY_GROUP_NAME>
    </SECURITY_GROUP_RULE>
    <TEMPLATE_ID><![CDATA[232]]></TEMPLATE_ID>
    <VCPU><![CDATA[4]]></VCPU>
    <VMID><![CDATA[3743]]></VMID>
  </TEMPLATE>
  <USER_TEMPLATE>
    <HYPERVISOR><![CDATA[kvm]]></HYPERVISOR>
    <INPUTS_ORDER><![CDATA[]]></INPUTS_ORDER>
    <LABELS><![CDATA[PF_OpenStack]]></LABELS>
    <LOGO><![CDATA[images/logos/centos.png]]></LOGO>
    <ROLE_NAME><![CDATA[deployer]]></ROLE_NAME>
    <SERVICE_ID><![CDATA[277]]></SERVICE_ID>
  </USER_TEMPLATE>
  <HISTORY_RECORDS>
    <HISTORY>
      <OID>3743</OID>
      <SEQ>0</SEQ>
      <HOSTNAME>sh014</HOSTNAME>
      <HID>15</HID>
      <CID>0</CID>
      <STIME>1510072963</STIME>
      <ETIME>0</ETIME>
      <VM_MAD><![CDATA[kvm]]></VM_MAD>
      <TM_MAD><![CDATA[qcow2]]></TM_MAD>
      <DS_ID>104</DS_ID>
      <PSTIME>1510072963</PSTIME>
      <PETIME>1510072965</PETIME>
      <RSTIME>1510072965</RSTIME>
      <RETIME>0</RETIME>
      <ESTIME>0</ESTIME>
      <EETIME>0</EETIME>
      <ACTION>0</ACTION>
      <UID>-1</UID>
      <GID>-1</GID>
      <REQUEST_ID>-1</REQUEST_ID>
    </HISTORY>
  </HISTORY_RECORDS>
</VM>

I can't see anything wrong on the network side.

I have the same problem, 16 VMs, 4 networks .

I have the exact same issue here, Network Topology is blank (using Opennebula 5.5.90 from the official repo). Here is what I get in Google Chrome Console (Developer Tools)
Failed to load resource: the server responded with a status of 500 (Internal Server Error)
vis.min.js:13 Uncaught Error: Cannot add item: item with id vm2 already exists
    at o._addItem (vis.min.js:13)
    at o.add (vis.min.js:12)
    at t.value (vis.min.js:22)
    at n.setData (vis.min.js:21)
    at new n (vis.min.js:21)
    at _doTopology (vnets-topology-tab.js:487)
    at success (vnets-topology-tab.js:128)
    at Object.success (action.js:277)
    at fire (jquery.js:3187)
    at Object.fireWith [as resolveWith] (jquery.js:3317)
:9869/support/request?timeout=false&pool_filter=-2&csrftoken=f37ff2046b4129058c79973cdee4868c:1 Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Any suggestions?

repo: OpenNebula/one


text:
Support for LXD 4.0

Description
LXD 4 has been released. Being an LTS version it should be supported by OpenNebula with at least the same level of support as LXD 3.

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Is this issue was closed because LXD 4.0 is now supported with OpenNebula 6.0?

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Race condition in drivers operations caused by monitoring state changes

Description
It looks like that the drivers operations, which are expected to be sequential (like do VM actions -> do storage actions) are not just controlled by the mandatory successful completion of the previous driver operation, but are also affected by the state changes propagated from the monitoring. Such a change from monitoring can cause the subsequent action can start before completely finishing the previous action.
This is clearly seen in the container (LXD) environments, when VM driver action shutdown not only destroys the container, but also unmaps storage. If unmapping extends from some reason, the VM monitoring can report back to OpenNebula VM container is powered-off and OpenNebula continues with storage actions to cleanup VM datastore directory. This results in deleting a data which are still used by the kernel OR fails the action and switches VM into failed state.
To Reproduce

Get LXD environment and put a long-enough sleep to shutdown action before unmapping the storage and synchronize drivers on hosts:

--- lxd/shutdown-	2021-10-19 10:21:02.575889912 +0000
+++ lxd/shutdown	2021-10-19 10:21:24.144244273 +0000
@@ -47,6 +47,8 @@

 container.save_idmap

+sleep 120
+
 raise 'Failed to dismantle container storage' unless \
 container.setup_storage('unmap')

Run VM
Terminate VM, VM ends in failed state.

See the VM log where it's clearly seen that EPILOG is initiated by monitoring, not by successful driver action:
Tue Oct 19 10:21:40 2021 [Z0][VMM][I]: Successfully execute network driver operation: post.
Tue Oct 19 10:21:40 2021 [Z0][VM][I]: New LCM state is RUNNING
Tue Oct 19 10:22:20 2021 [Z0][VM][I]: New LCM state is SHUTDOWN
Tue Oct 19 10:22:48 2021 [Z0][LCM][I]: VM reported SHUTDOWN by the drivers
Tue Oct 19 10:22:48 2021 [Z0][VM][I]: New LCM state is EPILOG
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: Command execution failed (exit code: 1): /var/lib/one/remotes/tm/ssh/delete ubuntu2004-lxd-ssh-6-1-90-cdede-63512-2.test:/var/lib/one//datastores/0/142 142 0
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: delete: Deleting /var/lib/one//datastores/0/142
Tue Oct 19 10:22:58 2021 [Z0][TrM][E]: delete: Command "[ -e "/var/lib/one//datastores/0/142" ] || exit 0
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]:
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: times=10
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: function="rm -rf /var/lib/one//datastores/0/142"
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]:
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: count=1
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]:
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: ret=$($function)
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: error=$?
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]:
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: while [ $count -lt $times -a "$error" != "0" ]; do
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: sleep 1
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: count=$(( $count + 1 ))
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: ret=$($function)
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: error=$?
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: done
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]:
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: [ "x$error" = "x0" ]" failed: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system
Tue Oct 19 10:22:58 2021 [Z0][TrM][I]: Error deleting /var/lib/one//datastores/0/142
Tue Oct 19 10:22:58 2021 [Z0][TrM][E]: Error executing image transfer script: INFO: delete: Deleting /var/lib/one//datastores/0/142 ERROR: delete: Command "[ -e "/var/lib/one//datastores/0/142" ] || exit 0  times=10 function="rm -rf /var/lib/one//datastores/0/142"  count=1  ret=$($function) error=$?  while [ $count -lt $times -a "$error" != "0" ]; do     sleep 1     count=$(( $count + 1 ))     ret=$($function)     error=$? done  [ "x$error" = "x0" ]" failed: rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system rm: cannot remove '/var/lib/one//datastores/0/142/mapper/disk.1/context.sh': Read-only file system Error deleting /var/lib/one//datastores/0/142
Tue Oct 19 10:22:58 2021 [Z0][VM][I]: New LCM state is EPILOG_FAILURE
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: Command execution fail (exit code: 1): cat << EOT | /var/tmp/one/vmm/lxd/cancel 'one-142' 'ubuntu2004-lxd-ssh-6-1-90-cdede-63512-2.test' 142 ubuntu2004-lxd-ssh-6-1-90-cdede-63512-2.test
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: Running LXD Version 3.0.4
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: WARNING: The LXD Driver has been deprecated in favor of the LXC Driver https://docs.opennebula.io/6.0/open_cluster_deployment/lxc_node/lxd_to_lxc.html
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: shutdown: --- Stopping container ---
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: shutdown: Processing disk 0
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: shutdown: Unknown /var/lib/one/datastores/0/142/disk.0: cannot open `/var/lib/one/datastores/0/142/disk.0' (No such file or directory)
Tue Oct 19 10:24:21 2021 [Z0][VMM][I]: image format,                     trying raw filesystem mapper

Details

Affected Component: Core
Version: 6.1.90 (but affected probably all versions)

Progress Status

[ ] Branch created
[ ] Code committed to development branch
[ ] Testing - QA
[ ] Documentation
[ ] Release notes - resolved issues, compatibility, known issues
[ ] Code committed to upstream release/hotfix branches
[ ] Documentation committed to upstream release/hotfix branches

Continuing with the shutdown process on receiving poweroff state from monitoring is intended. It can solve freezes of the shutdown action. If it's an issue for lxd/lxc drivers, then there are 2 options how to delay the poweroff state from monitoring:

Increase times_missing in /var/lib/one/remotes/etc/im/lxd-probes.d/probe_db.conf
Increase PROBES_PERIOD/STATE_VM in /etc/one/monitord.conf

The probe_db.conf is not documented, PR with brief description.
PR to use bigger times_missing for lxc/lxd

needed in 5.12

PR to use bigger times_missing for lxc/lxd
This is probably not needed. There is an issue with sync state, which circumvent the missing_state counter.

Src PR fixing the sync state
Docs PR to update resolved issues

The vm[:ignore] flag needs to be accounted for as well when checking missing VMs.

Increasing the default :times_missing: from the default 5 to 10 has been tested in multiple environments and the error has not been triggered.
Since LXD is deprecated this will do as a somewhat reliable band aid:

Edit the file /var/lib/one/remotes/etc/im/lxd-probes.d/probe_db.conf and change the values as mentioned above
Run onehost sync --force to sync the changes on the LXD node.

authors: dann1 paczerny tinova vholer


text:
OpenNebula vmcontext.sh for FreeBSD guests.

Tested on FreeBSD 10.0+

also found this: https://github.com/slob/freebsd-one-context

update: works better than what I use now, will try to make the best of both :)

it is not fun to autoclose contribs instead of upstreaming them :-( :-(

Isn't this covered in the current context addon FreeBSD support?
https://github.com/OpenNebula/addon-context-linux
Let us know so we can close this.

@olevole can you check please?

Please let us know if we should add something to the current FreeBSD support by OpenNebula.

source: gharchive/pull-request

authors: FlorianHeigl olevole tinova


text:
pdftopdf produces blank document when using -o fit-to-page from apparently correct input

Describe the bug
I'm using cupsfilter to transform PDF files to PostScript before sending to the printer. Some files print completely blank, with the correct number of pages, though.
I noticed the problem is produced only when adding the -o fit-to-page option. If I skip this option, the file prints out properly.
I use evince to view the PS files before printing, which do show blank as well (or properly when -o fit-to-page is omitted).
This only happens to some files, but I can't find any errors in the input files. I also tried to repair the input file (with gs) before using cupsfilter, with the same blank result.
pdfinfo and other tools I used didn't show any errors either.
To Reproduce
I narrowed it down to this:
# works.pdf produces correct output
cupsfilter -m application/vnd.cups-pdf -o fit-to-page -- works.pdf > works_out.pdf

# fails.pdf produces blank output
cupsfilter -m application/vnd.cups-pdf -o fit-to-page -- fails.pdf > fails_out.pdf

Here you have works.pdf and fails.pdf for this test.
Also my works_out.pdf and fails_out.pdf in case it's useful.
Expected behavior
The output PDF should look similar to the input PDF.
System Information:

Debian GNU/Linux 11 (bullseye)
CUPS 2.3.3op2-3+deb11u1
QPDF 10.1.0

Extra information

From https://www.cups.org/doc/options.html you can read on fit-to-page:

This feature depends upon an accurate size in the print file. If no size is given in the file, the page may be scaled incorrectly!

But I could't find any wrong page size (like 0 page size to become blank) with pdfinfo.

I also tried qpdf with --flatten-annotations and the output seems fine.

Your help is very much appreciated. Thank you in advance!

Any ideas here?  Please  :(  this is causing a lot of trouble to us. Thanks

repo: OpenPrinting/cups-filters


text:
Need some help with RTL preparations and l10n

I've created a Hebrew version and configured Crowdin to use my GitHub fork and now approved users can actually use it to translate CUPS instead of changing *.tmpl files and the main .po for their language (the only missing part is the .desktop file and I'm trying to find some solution but it's not such a big deal compared to the rest of the challenges).
The version I created requires some CSS modifications to appear properly (I already know what to change) but there are some glitches I couldn't fix.
This is the correct Hebrew version (Administration screen):

This is the incorrect Hebrew version (Administration screen - No CSS modifications - some strings remain in English):

I'm not sure it's related but it's also giving me a hard time, in Firefox there's some sort of indentation between the window border and the first header menu item (OpenPrinting CUPS), when switching to RTL it doesn't appear at all and although it doesn't seem very significant it's just not working, this is how it looks like in the English native web interface:

I can't find this indentation in Chromium:

Apparently adding dir="rtl" doesn't work as expected and there are several left/right specific cases to handle (floats for example).
I was thinking about adding the dir="rtl" in the translated index and in the tmpl files but it should be permanent so in case the source is modified, this direction should stay intact and I'm not sure adding this manually is the way to go (unless you believe it does).
Furthermore, sometimes not all the strings are loaded, as you can see in the incorrect screenshot, I'm not sure why it happens but I can provide logs if needed.
I've also created a Docker file to allow compiling and testing without touching the installed version which is pretty convenient when it comes to localization testing (I'm not sure what to do with it and if it's necessary for someone other than myself).
Thanks.

@yarons I don't have a lot of experience with RTL languages and HTML/CSS, but I suspect you may just want to update the header.tmpl file to include a supplemental CSS file (call it "cups-rtl.css" that overrides the classes for header, footer, row/thirds/halves, body, etc. to specify the text direction and "float: right;" as needed. It may also be necessary to include the language information in the HTML header (in both index.html.in and header.tmpl) so that the browser knows what to do.
WRT Crowdin, I've not had any experience with that solution but am happy if it helps to bring more localizations to CUPS - there is (unfortunately) a lot to localize and not everyone is able to devote the time needed to do all of the work...

@yarons I found the following excellent resource on RTL CSS: https://rtlstyling.com/posts/rtl-styling/.
So we can update the existing cups.css to include overrides when the direction is rtl, and then you just need to add dir="rtl" to the initial html element in index.html.in and header.tmpl.in.

I have some new additions in my fork, it works somehow but I'm not pleased, I still have lots of work to do with the CSS, the relevant branch in my fork is l10n_master.

WRT Crowdin, I've not had any experience with that solution but am happy if it helps to bring more localizations to CUPS - there is (unfortunately) a lot to localize and not everyone is able to devote the time needed to do all of the work...

Yup, sadly t's not open source, there are other alternatives such as Weblate but we will not some more preparation work to use these systems (Crowdin supports HTML natively).
Regarding the po file, that's pretty straight forward but we can certainly tag the strings and add some comments and screenshots if relevant, I just wouldn't do that until we've agreed on a specific localization solution, these both systems support screenshots anyway, it's just impossible to migrate between those easily.
You can see my current work here: https://crowdin.com/project/cups
I'd love to add you as an additional manager.
Thanks!

@yarons, i do not disagree. I do not stick to Launchpad's tool or Pootle. I just appreciate tools that improve consistency control and give me context. Pootle does that, Launchpad is a working example (that is by definition not obsolete), and if Weblate even adds a better git integration, ok. I admit i did not know that weblate supports deepl – sounds interesting.

@jschwender Sorry if I sounded a bit rude, it's due to some other conversations I had in the past and also becuase I keep trying to influence Launchpad to add more features, they don't seem to cooperate sadly.
LOL, I'll try and see if we can fit the strings limit and with your permission I'll ask for hosting on their platform.
There's also an option for self hosting if you think it's interesting (yet more expensive).

@yarons Have your questions been answered? I'll be happy to merge changes once you have them ready...

It's hard for me to test it because I need to rebuild this in a docker each and every time I'm making some changes, it looks fine for now but it's still not perfect and for some reason some of the terms appear in English although I've translated them and I'm pretty sure I saw them translated before I made some CSS changes and rebuilt.
Is there a way to quickly test CSS modifications without rebuilding the project?
Thank you!

@yarons Running "make testserver" will start a CUPS server (by default on port 8631) that will pull from the local source directory.

Tried the testserver approach, it's not so convenient for testing HTML/CSS changes.
For some reason the build process is ommiting the headers which leads me to a situation where the header is in English (including the top menu) and the rest is in Hebrew, I'm still trying to figure out what I'm doing wrong.

@yarons Hmm, it should just be making symlinks to the source directory, so as long as you are editing the generated and not the ".in" files for your development the changes should show up in the browser. (You can copy the generated files back to the ".in" files as needed afterwards and re-add @CUPS_VERSION@ in the ".in" file...)

I think the main issues/questions being asked have been resolved. Tracking future localization strategies in issue #216.

authors: jschwender michaelrsweet yarons

repo: OpenPrinting/cups

license_source: bigquery


text:
How to purge all print tasks when CUPS start up?

How to set the CUPS  to clear all print tasks once it is restarted (for example, the print server is powered on),  including the unfinished print tasks previously cached, or the print tasks paused in case of errors ,etc.

The only way would be to purge the spool (/var/spool/cups) directory before starting cupsd, and that will cause all job history to be lost... You can just delete the "d" files in the spool directory to keep the history, but there will be some cleanup when cupsd starts with errors logged about the missing document files for printing...

authors: fayehoo michaelrsweet


text:
Add an OpenRC state to provide information if services are crashed

Currently there are no enums defined for a crashed service, which means every consumer of librc has to define what crashed means and check for it.
It would be great if there was another state that provides information about a service being crashed.
Alternatively, a rc_service_effective_state() function that does the crash check for you, would be appreciated.
States are defined here:
https://github.com/OpenRC/openrc/blob/13ca79856e5836117e469c3edbcfd4bf47b6bab0/src/librc/rc.h.in#L175
rc_service_state:
https://github.com/OpenRC/openrc/blob/82da844b42ff83b2ebf944198e56ac2d81851897/src/librc/librc.c#L830
@williamh  @chutz

That's because there's no coherent meaning between supervisors.  start-stop-daemon only has crashed, whereas supervise-daemon has crashed and unsupervised (where the former means supervise-daemon crashed before starting the process to be supervised, and the latter means it crashed afterward; this check is implemented in shell).  There is bool rc_service_daemons_crashed(char *service) for checking whether a daemon has crashed; for start-stop-daemon, this means the daemon that was started no longer exists, and for supervise-daemon, it means the supervisor is gone.

@mrueg Did you check out using the rc_service_daemons_crashed() function? If you pass it a service name, it should return true or false based on whether or not the service you passed has a crashed daemon.

I will test having rc_service_state call that function and adding a CRASHED state if that is a better setup.

The following commits are related to this issue:
fa5aea80
0f4fa415
5d6dd97b
37e29442
4e0eace8
This will be included in OpenRC 0.36.

authors: dwfreed mrueg williamh

repo: OpenRC/openrc


text:
HTM-807 dialogueEnhancementGainPreference shall be zero

Description:

If DE is switched off, dialogueEnhancementGainPreference shall be also set to 0, like dialogueEnhancementGain.

Testing:

All DE test of HbbTv204 test.
You may need Set Setup > Manual > Interactive Test Steps to Yes in the Harness.

repo: OpenRedButtonProject/orb


text:
loosing rows in a project

I have a proyect of 24078 rows i am working with.

But somehow, after moving backwards unintentionally with the touch pad of my mac, I went back to the OpenRefine hub and when I enter again into the project it has less rows.

And it continues to be like that. There is no sing in the history of such a delete of rows...

Do not undestand what happened. I am loosing hours of work here.

It is also messing up with the facets...

I select on evalue for this column and the results are many columns that do not have that value.

I'm guessing that "filas" means rows, in which case, it looks like you are
in "record mode" where multiple rows are combined into a record. One clue
is that the second row has no number next to it. It is, instead, part of
record 1. If you click on "filas" to go into "row mode", it should display
things as you wish.
Best,
Tom

Message ID: @.***>

This was closed by mistake because I made a typo in the issue number in 83ee35c

Ohhhh thank you so much! I had never seen that "Show as" thing! That is what i may have been clicking on wothout noticing and confusing me a lot.
THANK YOU!!!

Glad we were able to help! I'm going to close this as resolved, but feel free to create a new issue if you run into any other problems.

authors: mabecabrera tfmorris wetneb

repo: OpenRefine/OpenRefine


text:
feat: add tests for pagination and pagesize

Signed-off-by: kushthedude kushthedude@gmail.com
fixes #3417

@kushthedude for the test about the pagination size, looks like there is a lot of duplicated code
Could you simplify the test with one single assertion that just count the number of rows ? We don't necessarily need to validate the content of the cells in that case, but if you think that's absolutely necessary you could use the utility method assertCellEquals
For the first,next,previous,last, I don't think that's necessary to duplicate the test for each pagination size, but I like the way you've done it, separating the first,previous,next,last into separate tests.
Looks like the previous button is not tested

Could you simplify the test with one single assertion that just count the number of rows?

I was sceptical here as if the actual transition is being done or not; so just for greater confidence I asserted cell value too but I don't think it's absolutely necessary.

I don't think that's necessary to duplicate the test for each pagination size

I think it's better to have better coverage of each functionality including different options too, right?

Looks like the previous button is not tested

Sorry, I missed it adding it/

Done!

authors: fgiroud kushthedude


text:
Added comments to WeDo compiled files

Fix to Issue #468. And have changed a test case that an error to occur.
NOTE: The program may fail some WeDo test for "AllBlocks" since the comment block now also generates in the file.

Thanks! Merged in d274c7e9cfd763f61939223e0a7d9c959d23ea61.

authors: RohanCheri boonto

repo: OpenRoberta/openroberta-lab


text:
Make helper function to transform standard csv format to netcdf

Most users with CML data in csv's have a separate metadata file, and the actual CML data stored as one big file for the entire network (or possibly multiple csv files, one per time interval), or in multiple csv files separated by sublink.
Function
The idea is to create a function that can help users to transform their csv files to netcdf, following OPENSENSE data formats. For this function it would be required that the metadata is in a standard format, and can be linked to the actual CML data. Putting the metadata into the standard format would be the user's own responsibility.
Metadata
Proposed csv metadata format (includes all the required, recommended, and optional fields from the WG1 paper):

This format relies on the sublink being the lowest level, i.e. each row refers to a sublink.
The required parameters from the whitepaper will be hard coded.
Recommended and optional parameters included in the whitepaper should also be optionally read in the function. Parameters not included in the white paper will not be supported in this function to limit the complexity.
CML data and coupling
Consequently the function should include the coupling of the metadata to the CML data files, to create one large netcdf. We propose coupling of the metadata to CML data relies on the column 'couple_id' in the metadata file. So that if the sublink_id is in the file name of the CML data file, this couple_id could be used without having to change the names of many csv files.
The function should support the two most common ways of coupling. 1) CML data stored in one file for the entire network, with possibly multiple files for different time intervals, and 2) data stored in separate csv files per sublink.

For reference, this is related to https://github.com/OpenSenseAction/poligrain/issues/34

authors: bwalraven cchwala


text:
Use prune_elements for activate mediafile. (Fixed #1910)

Use page-fit to show pdf in full width.

@normanjaeckel Please merge this until tomorrow morning. I need this changes in master for a demo.

repo: OpenSlides/OpenSlides

license: MIT


text:
Small fixes to LED Animation system

Fix for https://github.com/OpenStickCommunity/GP2040-CE/issues/431, animation state breaks for cycling animations when they are made too fast.
Also includes a fix to a potential memory corruption via Animation pointers in the AnimationStation.
Another small change to the RBG struct constructors to make them Trivial classes.
Please note, as my hitbox has not yet arrived I am unable to test these changes past simply ensuring they compile.

Testing with FlatboxRev5RGB
This issue and behavior stated in #431 are still present. This is the case even after flash_nuking the board and then flashing the build firmware from the workflow run for this PR.

I was able to consistently reproduce the issue before my changes. I was not able to do so with my changes.
However, @InfraredAces reports that they are still seeing the same or a similar issue post changes. So #431 requires further investigation.

authors: InfraredAces Procdox


text:
fix/RemoteTTS+remove_requests_futures_dep

requests futures was only used by RemoteTTS base class, dated from 2016
RemoteTTS is basically unused, wasnt even ported to OPM and is only present for backwards compat imports. The sentence chunking has not been updated for a long time, the filename is not respected properly, it only supports .wav ....
This PR simplifies it to depend only on requests and no longer overrides the execute method, it behaves like any regular TTS now. Bugs are fixed at the cost of no automatic sentence chunking, text size limits should be handled in individual plugins and do not belong in the base class anyway imho
I do not know of any TTS depending on this, no plugins use it and individual engines have been removed in #1
fixed bugs:

self.filename is hardcoded to .wav (mycroft-core fixed in ovos-core)
only wav format was supported
tts execution skipped the TTS playback thread

Only reason is again for import compat, but i will move this to opm together with stuff from tts cache and make new release

repo: OpenVoiceOS/ovos-core


text:
Bug: Switchbot Bot always return error "Cannot read properties of undefined (reading 'turnOn')" when press from homekit or homebridge accessories

Describe the Bug
I've integrated the version 3.6.0 of the plugin to my homebridge environment and my switchbot bot has been detected correctly in the plugin. But every time I try to trigger the press, whether from homekit or homebridge accessories page, it will always return error Cannot read properties of undefined (reading 'turnOn').
I've already tried upgrading the plugin to 3.6.1 beta version and it still happening. I've also tried to downgrade it to version 3.4.0, the bug is missing, but nothing happen on my bot.
To Reproduce

Integrate version 3.6.0 (already follow the prerequisite step needed)
tap the accessories

Expected Behavior
The bot should act correctly when pressed
Relevant Log Output
7/13/2024, 11:57:54 AM] [SwitchBot] Initializing SwitchBot platform...
[7/13/2024, 11:57:54 AM] [SwitchBot] Initializing child bridge 0E:96:3E:B4:61:58
[7/13/2024, 11:57:54 AM] Loading 13 accessories...
[7/13/2024, 11:57:58 AM] [SwitchBot] Launched child bridge with PID 138710
[7/13/2024, 11:58:06 AM] [SwitchBot] Loaded @switchbot/homebridge-switchbot v3.6.0 child bridge successfully
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Using Config Logging: debug
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Platform Config: {"logging":"debug"}
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Plugin Version: 3.6.0
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Finished initializing platform: SwitchBot
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Verifying Config
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Config OK
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Executed didFinishLaunching callback
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Retry Count: 0
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Using Default Refresh Rate (2 minutes).
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Using Default Push Rate.
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Using Default Max Retries.
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Using Default Delay Between Retries.
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Max Retries: 3
[7/13/2024, 11:58:06 AM] [SwitchBot] [DEBUG] Delay Between Retries: 3000
[7/13/2024, 11:58:07 AM] Homebridge v1.8.3 (HAP v0.12.2) (SwitchBot) is running on port 54502.
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] statusCode: 200
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] devicesAPI: {"statusCode":100,"body":{"deviceList":[{"deviceId":"C53635302723","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}],"infraredRemoteList":[]},"message":"success"}
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] devicesAPI Body: {"deviceList":[{"deviceId":"C53635302723","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}],"infraredRemoteList":[]}
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] devicesAPI StatusCode: 100
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] statusCode: 200 & devicesAPI StatusCode: 100
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] DeviceLists: [{"deviceId":"C53635302723","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}]
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] DeviceLists Length: 1
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] SwitchBot Device Config Set: [{"deviceId":"C5:36:35:30:27:23","configDeviceName":"Main bedroom air purifier","configDeviceType":"Bot","connectionType":"BLE","bot":{"mode":"switch","deviceType":"switch"},"logging":"debug"}]
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] SwitchBot Devices: [{"deviceId":"C53635302723","configDeviceName":"Main bedroom air purifier","configDeviceType":"Bot","connectionType":"BLE","bot":{"mode":"switch","deviceType":"switch"},"logging":"debug","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}]
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Discovered Bot: C53635302723
[7/13/2024, 11:58:08 AM] [SwitchBot] Total SwitchBot Devices Found: 1
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] IR Device Config Not Set: undefined
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Total IR Devices Found: 0
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Device: Main bedroom air purifier registerDevice: true
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Device: Main bedroom air purifier connectionType: BLE, will display in HomeKit
[7/13/2024, 11:58:08 AM] [SwitchBot] Adding new accessory: Main bedroom air purifier deviceId: C53635302723
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Device Config Logging: debug
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Platform Config refreshRate: 120, Default updateRate: 5, Platform Config pushRate: 0.1
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Default Max Retries: 5, Default Delay Between Retries: 3000
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Config: {"logging":"debug","connectionType":"BLE","mode":"switch","deviceType":"switch"}
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Model: SwitchBot S1, BLE Model: H, BLE Model Name: WoHand, BLE Model Friendly Name: Bot
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Default scanDuration: 5
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Default MQTT URL: , Default mqttOptions: {}, Default mqttPubOptions: {}
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Displaying as Switch
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Retrieve initial values and update Homekit
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLERefreshStatus
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Registering Webhook Event Handler
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier is not listening webhook.
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot uuid: C53635302723-Bot, (fe7993b8-de39-40cb-a39c-66a5309e661e)
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Device Type: switch
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Fan Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Lock Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Door Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Faucet Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Outlet Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Window Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Garage Door Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Window Covering Service
[7/13/2024, 11:58:08 AM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Stateful Programmable Switch Service
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Firmware Version: 3.6.0
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier version: 3.6.0
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Main bedroom air purifier External Accessory Mode: undefined
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Bot Mode: switch
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier No Double Press Set, Using default Double Press: 1
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier No Push Rate Press Set, Using default Push Rate Press: 15
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier No Allow Push Set, Using default Allow Push: false
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Multi Press Count: 0
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier 'node-switchbot' found: [object Object]
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLE Address: c5:36:35:30:27:23
[7/13/2024, 11:58:08 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Scanning for WoHand devices...
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLEparseStatus
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(undefined, 100, switch)
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Press Mode, mode: undefined, On: false
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BatteryLevel: undefined
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier StatusLowBattery: 0
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier updateCharacteristic On: false
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BatteryLevel: undefined
[7/13/2024, 11:58:13 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier updateCharacteristic StatusLowBattery: 0
[7/13/2024, 11:59:55 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Set ProgrammableSwitchOutputState: true
[7/13/2024, 11:59:55 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLEpushChanges
[7/13/2024, 11:59:55 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLEpushChanges On: true OnCached: false
[7/13/2024, 11:59:55 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier 'node-switchbot' found: [object Object]
[7/13/2024, 11:59:55 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLE Address: c5:36:35:30:27:23
[7/13/2024, 11:59:55 AM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Press Mode: switch
[7/13/2024, 12:00:00 PM] [SwitchBot] Bot: Main bedroom air purifier On: true
[7/13/2024, 12:00:00 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 12:00:00 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 12:00:01 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 12:00:01 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 12:00:02 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 12:00:02 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 12:00:03 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 12:00:03 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 12:00:04 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 12:00:04 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 12:00:05 PM] [SwitchBot] Bot: Main bedroom air purifier failed BLEpushChanges with BLE Connection, Error Message: "Cannot read properties of undefined (reading 'turnOn')"

Config for homebridge-switchbot
-

Screenshots
No response
Device and Model
Switchbot bot S1
Node.js Version
v18.19.0
NPM Version
v9.2.0
Homebridge Version
v1.8.3
Homebridge Switchbot Plugin Version
v3.6.0
Homebridge Config UI X Plugin Version
v4.56.4
Operating System
Debian

Config

Can you try the latest beta:

Click here to find out how to install Beta

HI, thanks for replying.
Sadly, it is still happening on 3.6.1.beta-2.
Here is the log:
7/13/2024, 1:50:11 PM] [SwitchBot] Launched child bridge with PID 153510
[7/13/2024, 1:50:11 PM] The plugin "homebridge-switchbot" requires a Homebridge version of ^1.8.4-beta.21 which does not satisfy the current Homebridge version of 1.8.3. You may need to update this plugin (or Homebridge) to a newer version. You may face unexpected issues or stability problems running this plugin.
[7/13/2024, 1:50:16 PM] Registering platform '@switchbot/homebridge-switchbot.SwitchBot'
[7/13/2024, 1:50:16 PM] [SwitchBot] Loaded @switchbot/homebridge-switchbot v3.6.1-beta.2 child bridge successfully
[7/13/2024, 1:50:16 PM] Loaded 1 cached accessories from cachedAccessories.0E963EB46158.
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Using Config Logging: debug
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Plugin Version: 3.6.1-beta.2
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Finished initializing platform: SwitchBot
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Verifying Config
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Platform Config: {"logging":"debug"}
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Config OK
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Platform BLE is not enabled
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Loading accessory from cache: Main bedroom air purifier
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Executed didFinishLaunching callback
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Retry Count: 0
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Using Default Refresh Rate (2 minutes).
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Using Default Push Rate.
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Using Default Max Retries.
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Using Default Delay Between Retries.
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Max Retries: 3
[7/13/2024, 1:50:16 PM] [SwitchBot] [DEBUG] Delay Between Retries: 3000
[7/13/2024, 1:50:16 PM] Homebridge v1.8.3 (HAP v0.12.2) (SwitchBot) is running on port 54502.
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] statusCode: 200
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] devicesAPI: {"statusCode":100,"body":{"deviceList":[{"deviceId":"C53635302723","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}],"infraredRemoteList":[]},"message":"success"}
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] devicesAPI Body: {"deviceList":[{"deviceId":"C53635302723","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}],"infraredRemoteList":[]}
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] devicesAPI StatusCode: 100
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] statusCode: 200 & devicesAPI StatusCode: 100
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] DeviceLists: [{"deviceId":"C53635302723","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}]
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] DeviceLists Length: 1
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] SwitchBot Device Config Set: [{"deviceId":"C5:36:35:30:27:23","configDeviceName":"Main bedroom air purifier","configDeviceType":"Bot","connectionType":"BLE","bot":{"mode":"switch","deviceType":"switch"},"logging":"debug"}]
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] SwitchBot Devices: [{"deviceId":"C53635302723","configDeviceName":"Main bedroom air purifier","configDeviceType":"Bot","connectionType":"BLE","bot":{"mode":"switch","deviceType":"switch"},"logging":"debug","deviceName":"Main bedroom air purifier","deviceType":"Bot","enableCloudService":false,"hubDeviceId":"000000000000"}]
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Discovered Bot: C53635302723
[7/13/2024, 1:50:18 PM] [SwitchBot] Total SwitchBot Devices Found: 1
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] IR Device Config Not Set: undefined
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Total IR Devices Found: 0
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Device: Main bedroom air purifier registerDevice: true
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Device: Main bedroom air purifier connectionType: BLE, will display in HomeKit
[7/13/2024, 1:50:18 PM] [SwitchBot] Restoring existing accessory from cache: Main bedroom air purifier deviceId: C53635302723
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Device Config Logging: debug
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Platform Config refreshRate: 120, Default updateRate: 5, Platform Config pushRate: 0.1
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Default Max Retries: 5, Default Delay Between Retries: 3000
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Config: {"logging":"debug","connectionType":"BLE","mode":"switch","deviceType":"switch"}
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Model: SwitchBot S1, BLE Model: H, BLE Model Name: WoHand, BLE Model Friendly Name: Bot
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Default scanDuration: 5
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Default MQTT URL: , Default mqttOptions: {}, Default mqttPubOptions: {}
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Displaying as Switch
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Device Type: switch, from Accessory Cache.
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Fan Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Lock Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Door Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Faucet Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Outlet Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Window Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Garage Door Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Window Covering Service
[7/13/2024, 1:50:18 PM] [SwitchBot] Bot: Main bedroom air purifier Removing any leftover Stateful Programmable Switch Service
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Retrieve initial values and update Homekit
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLERefreshStatus
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Registering Webhook Event Handler
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier is not listening webhook.
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot uuid: C53635302723-Bot, (fe7993b8-de39-40cb-a39c-66a5309e661e)
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Firmware Version: 3.6.1
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier version: 3.6.1
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier is using Device BLE Scanning.
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Bot Mode: switch, from Accessory Cache.
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Double Press: 1, from Accessory Cache.
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Using Push Rate Press: 15, from Accessory Cache.
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier No Allow Push Set, Using default Allow Push: false
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Multi Press Count: 0
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier 'node-switchbot' found: [object Object]
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLE Address: c5:36:35:30:27:23
[7/13/2024, 1:50:18 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Scanning for WoHand devices...
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLEparseStatus
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(false, 100, switch)
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Press Mode, On: false
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BatteryLevel: undefined
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier StatusLowBattery: 0
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier updateHomeKitCharacteristics
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BatteryLevel: undefined
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier updateCharacteristic StatusLowBattery: 0
[7/13/2024, 1:50:23 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier updateCharacteristic On: false
[7/13/2024, 1:50:39 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Set On: true
[7/13/2024, 1:50:39 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLEpushChanges
[7/13/2024, 1:50:39 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLEpushChanges On: true OnCached: false
[7/13/2024, 1:50:39 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier 'node-switchbot' found: [object Object]
[7/13/2024, 1:50:39 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier BLE Address: c5:36:35:30:27:23
[7/13/2024, 1:50:39 PM] [SwitchBot] [DEBUG] Bot: Main bedroom air purifier Bot Mode: switch
[7/13/2024, 1:50:44 PM] [SwitchBot] Bot: Main bedroom air purifier On: true
[7/13/2024, 1:50:44 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 1:50:45 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 1:50:46 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 1:50:44 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 1:50:45 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 1:50:46 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 1:50:47 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 1:50:47 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 1:50:48 PM] [SwitchBot] Bot: Main bedroom air purifier TypeError: Cannot read properties of undefined (reading 'turnOn')
[7/13/2024, 1:50:48 PM] [SwitchBot] Bot: Main bedroom air purifier Retrying
[7/13/2024, 1:50:49 PM] [SwitchBot] Bot: Main bedroom air purifier failed BLEpushChanges with BLE Connection, Error Message: "Cannot read properties of undefined (reading 'turnOn')"

Here is the config, incase if it's needed:
 "devices": [
            {
                "deviceId": "C5:36:35:30:27:23",
                "configDeviceName": "Main bedroom air purifier",
                "configDeviceType": "Bot",
                "connectionType": "BLE",
                "bot": {
                    "mode": "switch",
                    "deviceType": "switch"
                },
                "logging": "debug"
            }
        ],

I have a very similar issue which prevented me from testing #951.

Same issue for me, followed all prerequisites, device MAC visible in BT scan, but not working, latest version of plugin, BLE connection, Bot FW version 6.6, HB running on RPI4 with Raspbian GNU/Linux Buster (10), HB version [v1.6.1], Node JS [v18.18.0].

@doddyth - have you been able to make it working? Or any advice from @donavanbecker ? Thanks!

Adding more Debug logs from start of plugin + pressing Switch button of Bot in Homekit:
[25/07/2024, 09:12:29] [SwitchBot] Total SwitchBot Devices Found: 1 [25/07/2024, 09:12:29] [SwitchBot] Restoring existing accessory from cache: OhrevTUV deviceId: C63430351E48 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Device Config Logging: debug [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Platform Config refreshRate: 120, Default updateRate: 5, Platform Config pushRate: 0.1 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Default Max Retries: 5, Default Delay Between Retries: 3000 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Model: SwitchBot S1, BLE Model: H, BLE Model Name: WoHand, BLE Model Friendly Name: Bot [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV scanDuration is less than updateRate, overriding scanDuration with updateRate [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Device Config scanDuration: 5 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Default MQTT URL: , Default mqttOptions: {}, Default mqttPubOptions: {} [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Displaying as Switch [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Fan Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Lock Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Door Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Faucet Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Outlet Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Window Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Garage Door Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Window Covering Service [25/07/2024, 09:12:29] [SwitchBot] Bot: OhrevTUV Removing any leftover Stateful Programmable Switch Service [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Device Type: switch, from Accessory Cache. [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Bot Mode: press, from Accessory Cache. [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Double Press: 1, from Accessory Cache. [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Push Rate Press: 15, from Accessory Cache. [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV No Allow Push Set, Using default Allow Push: false [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Multi Press Count: 0 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Retrieve initial values and update Homekit [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV BLERefreshStatus [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Registering Webhook Event Handler [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV is not listening webhook. [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Config: {"logging":"debug","scanDuration":2,"maxRetry":5,"connectionType":"BLE","mode":"press","deviceType":"switch","allowPush":false,"doublePress":1} [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Firmware Version: 6.6 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV is using Device BLE Scanning. [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV version: 6.6 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV BLE Address: c6:34:30:35:1e:48 [25/07/2024, 09:12:29] [SwitchBot] [DEBUG] Bot: OhrevTUV Scanning for WoHand devices... [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEparseStatus [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(false, 100, press) [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV Press Mode, On: false [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV StatusLowBattery: 0 [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV updateHomeKitCharacteristics [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic StatusLowBattery: 0 [25/07/2024, 09:12:34] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic On: false [25/07/2024, 09:12:59] [SwitchBot] [DEBUG] Bot: OhrevTUV Set On: true [25/07/2024, 09:12:59] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEpushChanges [25/07/2024, 09:12:59] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEpushChanges On: true OnCached: false [25/07/2024, 09:12:59] [SwitchBot] [DEBUG] Bot: OhrevTUV BLE Address: c6:34:30:35:1e:48 [25/07/2024, 09:12:59] [SwitchBot] [DEBUG] Bot: OhrevTUV Bot Mode: press [25/07/2024, 09:13:04] [SwitchBot] Bot: OhrevTUV On: true [25/07/2024, 09:13:04] [SwitchBot] Bot: OhrevTUV failed BLEpushChanges with BLE Connection, Error Message: "Cannot read properties of undefined (reading 'press')" [25/07/2024, 09:13:14] [SwitchBot] [DEBUG] Bot: OhrevTUV BLERefreshStatus [25/07/2024, 09:13:14] [SwitchBot] [DEBUG] Bot: OhrevTUV is using Device BLE Scanning. [25/07/2024, 09:13:14] [SwitchBot] [DEBUG] Bot: OhrevTUV BLE Address: c6:34:30:35:1e:48 [25/07/2024, 09:13:14] [SwitchBot] [DEBUG] Bot: OhrevTUV Scanning for WoHand devices... [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEparseStatus [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(false, undefined, press) [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV Press Mode, On: false [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV StatusLowBattery: 0 [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV updateHomeKitCharacteristics [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic StatusLowBattery: 0 [25/07/2024, 09:13:19] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic On: false

Seems to me that from this lines:
[25/07/2024, 09:16:34] [SwitchBot] [DEBUG] Bot: OhrevTUV (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(false, undefined, press)
[25/07/2024, 09:16:34] [SwitchBot] [DEBUG] Bot: OhrevTUV Press Mode, On: false

It is getting "undefined" values when reading from device, so the mode is than "undefined" as well battery status and when pressing the button, it gives error because mode of device is "undefined". Hope this helps.

@donavanbecker  - any update on this issue? Thanks! If I can help somehow, let me know.

Hi @Kositch , still no luck for me as well. My case is exactly the same as yours. I kinda give up with this plugin and just use the schedule from the app instead :/

Hi @Kositch , still no luck for me as well. My case is exactly the same as yours. I kinda give up with this plugin and just use the schedule feature from the app instead :/

Thanks for reply, hope author of this project will try to address this issue or at least give us some statement, what can be wrong. I think it has something to do with latest FW of Bot based on other discussions in other Bot integration projects. Sadly Bot FW cant be downgraded.

Can you try the latest beta:

Click here to find out how to install Beta

Can you try the latest beta:

Click here to find out how to install Beta

Tried, same issue:
[28/07/2024, 19:49:40] [SwitchBot] Total SwitchBot Devices Found: 1
[28/07/2024, 19:49:40] [SwitchBot] Restoring existing accessory from cache: OhrevTUV deviceId: C63430351E48
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Device Config Logging: debug
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Platform Config refreshRate: 120, Default updateRate: 5, Platform Config pushRate: 0.1
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Default Max Retries: 5, Default Delay Between Retries: 3000
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Model: SwitchBot S1, BLE Model: H, BLE Model Name: WoHand, BLE Model Friendly Name: undefined
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Device Config scanDuration: 5
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Default MQTT URL: , Default mqttOptions: {}, Default mqttPubOptions: {}
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Displaying as Switch
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Retrieve initial values and update Homekit
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV BLERefreshStatus
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Registering Webhook Event Handler
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV is not listening webhook.
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Registering Platform BLE Event Handler
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV registerPlatformBLE
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV scanDuration is less than updateRate, overriding scanDuration with updateRate
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Fan Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Lock Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Door Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Faucet Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Outlet Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Window Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Garage Door Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Window Covering Service
[28/07/2024, 19:49:40] [SwitchBot] Bot: OhrevTUV Removing any leftover Stateful Programmable Switch Service
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Config: {"logging":"debug","scanDuration":1,"maxRetry":5,"connectionType":"BLE","mode":"only_up","deviceType":"switch","allowPush":false,"doublePress":1}
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Device Type: switch, from Accessory Cache.
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Firmware Version: 6.6
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV is not listening to Platform BLE
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV version: 6.6
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Bot Mode: press, from Accessory Cache.
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Double Press: 1, from Accessory Cache.
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Using Push Rate Press: 15, from Accessory Cache.
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV No Allow Push Set, Using default Allow Push: false
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Multi Press Count: 0
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV BLE Address: c6:34:30:35:1e:48
[28/07/2024, 19:49:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Scanning for WoHand devices...
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEparseStatus
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(false, 100, press)
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV Press Mode, On: false
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV StatusLowBattery: 0
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV updateHomeKitCharacteristics
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic StatusLowBattery: 0
[28/07/2024, 19:49:45] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic On: false
[28/07/2024, 19:50:25] [SwitchBot] [DEBUG] Bot: OhrevTUV Set On: true
[28/07/2024, 19:50:25] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEpushChanges
[28/07/2024, 19:50:25] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEpushChanges On: true OnCached: false
[28/07/2024, 19:50:25] [SwitchBot] [DEBUG] Bot: OhrevTUV BLE Address: c6:34:30:35:1e:48
[28/07/2024, 19:50:25] [SwitchBot] [DEBUG] Bot: OhrevTUV Bot Mode: press
[28/07/2024, 19:50:30] [SwitchBot] Bot: OhrevTUV On: true
[28/07/2024, 19:50:30] [SwitchBot] Bot: OhrevTUV failed BLEpushChanges with BLE Connection, Error Message: "Cannot read properties of undefined (reading 'press')"
[28/07/2024, 19:50:40] [SwitchBot] [DEBUG] Bot: OhrevTUV BLERefreshStatus
[28/07/2024, 19:50:40] [SwitchBot] [DEBUG] Bot: OhrevTUV BLE Address: c6:34:30:35:1e:48
[28/07/2024, 19:50:40] [SwitchBot] [DEBUG] Bot: OhrevTUV Scanning for WoHand devices...
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV BLEparseStatus
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV (power, battery, deviceMode) = BLE:(undefined, undefined, undefined), current:(false, undefined, press)
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV Press Mode, On: false
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV StatusLowBattery: 0
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV updateHomeKitCharacteristics
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV BatteryLevel: undefined
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic StatusLowBattery: 0
[28/07/2024, 19:50:45] [SwitchBot] [DEBUG] Bot: OhrevTUV updateCharacteristic On: false

So, as I see it (having the bug as well) the actual problem lays in https://github.com/OpenWonderLabs/node-switchbot
I tested around with the homebridge-switchbot , and with the node-switchbot, which seems to be used in homebridge-switchbot. node-switchbot couldnt find the device as well, while @abandonware/noble (which is used for the BT) is able to find the device

Thanks for investigating, I am glad, it is not a single  issue of my installation. Hope it helps @donavanbecker to localize the isse, and I am ready to test next Beta.

Having the same issue with my newly purchased Bot.

@donavanbecker Hi, any update on this issue? Thank you!

No sorry, it is summer time and not at the computer that much right now. I would accept a PR if anyone does fund the issue and resolves it.

No sorry, it is summer time and not at the computer that much right now. I would accept a PR if anyone does fund the issue and resolves it.

Thanks for the update, I completely understand, lets hope someone more experience then regular user will dive into it or we will wait until you will have time... sometime :-) Enjoy your sumer.

Can you try the latest beta:
![npm version](https://badgen.net/badge/homebridge-switchbot@beta/>= 3.7.1-beta.18/orange)
Click here to find out how to install Beta

Can you try the latest beta:

Click here to find out how to install Beta

Can you try the latest beta:

Click here to find out how to install Beta

does beta 26 seem to work similar to 19?

Okay I have pushed out a new beta, this beta is a major change. all config will need to be reset and may change during the beta phase. if anyone is having any other issues with bots please try.

Click here to find out how to install Beta

Your device will still be in there but the config for that device is gone. Mapping mode, I have to fix but that should be set to what you are wanting the bot to be displayed as.

Closing all issues now that v4.0.0 is out. If you are still having an issue after trying v4.0.0, please open a new issue. Keep in mind v4.0.0 has some breaking changes with the config. You will need to re set your config up, however there are some nice added bonuses since you can set settings at a deviceType level or individual level.

authors: Kositch ScraggyMcRaggy doddyth donavanbecker lotfielhafi

repo: OpenWonderLabs/homebridge-switchbot

license: ISC