Stand with Ukraine flag
Pricing Try it now
Professional Edition
Getting Started Documentation Devices Library Guides
Architecture API FAQ
On this page

ThingsBoard PE v3.0.x upgrade instructions for Windows

Upgrading ThingsBoard PE to 3.0.1

NOTE: These upgrade steps are applicable for ThingsBoard version 3.0PE. In order to upgrade to 3.0.1PE you need to upgrade to 3.0PE first.


Doc info icon

Important note before upgrading to ThingsBoard 3.0

  • ThingsBoard UI was rewritten from AngularJS 1.5.8 to use Angular 9.
    • What does it mean?
      • Generally speaking, it means: state of the art application, easier development of front-end elements, performance improvements and more flexibility with UI customizations.
    • How to upgrade?
      • You are safe to upgrade if you do NOT use custom widgets or custom actions in the dashboards.
      • New JS framework may not support your current code — custom widgets and custom actions, so they need to be refactored a bit. Thus we encourage you to test your customizations using our cloud environments or your dev instances.
  • Migration from pure Cassandra to Hybrid DB Approach
    • We still support Cassandra for storing telemetry data but not the entities like devices, customers, tenants, etc.
    • What does it mean?
      • This will simplify maintenance and future improvements that will enable advanced search capabilities in v3.1.
    • How to upgrade?
      • If you are using pure PostgreSQL setup or PostgreSQL (for entities) + Cassandra (for telemetry), you are not affected.
      • If you are using pure Cassandra - the upgrade procedure is automatic but takes some time. The downtime depends on the number of devices, attributes, alarms and relations. If you have less than 10 million of those entities the upgrade should take a few minutes and depends on the database performance.
Doc info icon

Since ThingsBoard 3.0PE only PostgreSQL database is supported for entities data

  • If you are using Cassandra database for entities data please install PostgreSQL database before proceeding upgrade procedure using the following guide:

ThingsBoard PE package download

Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-3.0.1pe.exe.

ThingsBoard PE service upgrade

  • Stop ThingsBoard service if it is running.
1
net stop thingsboard
  • Make a backup of previous ThingsBoard PE configuration located in <ThingsBoard install dir>\conf (for ex. C:\thingsboard\conf).
  • Run installation package thingsboard-windows-setup-3.0.1pe.exe.
  • Compare your old ThingsBoard configuration files (from the backup you made in the first step) with new ones.
  • Please make sure that you set database.ts.type parameter value (in the file <ThingsBoard install dir>\conf\thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:
1
2
3
4
database:
  ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
  ts:
    type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
  • Finally, run upgrade.bat script to upgrade ThingsBoard to the new version.

NOTE Scripts listed above should be executed using Administrator Role.

NOTE: If you were using Cassandra database for entities data execute the following migration script:

1
C:\thingsboard>upgrade.bat --fromVersion=2.5.0PE-cassandra

Otherwise execute regular upgrade script:

1
C:\thingsboard>upgrade.bat --fromVersion=2.5.0

Start the service

Doc info icon

If you use Redis for caching, you need to flush all stored keys before starting the ThingsBoard.

Connect to your Redis instance (or container/pod, depending on your setup) and run the command:

redis-cli flushall

Please note that this command is applicable only if you use Redis exclusively for ThingsBoard. If other applications use Redis, you need to locate the ThingsBoard database and flush only that. The default database index is 0, configurable with REDIS_DB ThingsBoard environment value.

redis-cli

select 0

flushdb

1
net start thingsboard

Upgrading ThingsBoard PE to 3.0

Doc info icon

Since ThingsBoard 3.0PE only PostgreSQL database is supported for entities data

  • If you are using Cassandra database for entities data please install PostgreSQL database before proceeding upgrade procedure using the following guide:

ThingsBoard PE package download

Download ThingsBoard PE installation package for Windows: thingsboard-windows-setup-3.0pe.exe.

ThingsBoard PE service upgrade

  • Stop ThingsBoard service if it is running.
1
net stop thingsboard
  • Make a backup of previous ThingsBoard PE configuration located in <ThingsBoard install dir>\conf (for ex. C:\thingsboard\conf).
  • Run installation package thingsboard-windows-setup-3.0pe.exe.
  • Compare your old ThingsBoard configuration files (from the backup you made in the first step) with new ones.
  • Please make sure that you set database.ts.type parameter value (in the file <ThingsBoard install dir>\conf\thingsboard.yml) to “cassandra” instead of “sql” if you are using Cassandra database for timeseries data:
1
2
3
4
    database:
      ts_max_intervals: "${DATABASE_TS_MAX_INTERVALS:700}" # Max number of DB queries generated by single API call to fetch telemetry records
      ts:
        type: "${DATABASE_TS_TYPE:sql}" # cassandra, sql, or timescale (for hybrid mode, DATABASE_TS_TYPE value should be cassandra, or timescale)
  • Finally, run upgrade.bat script to upgrade ThingsBoard to the new version.

NOTE Scripts listed above should be executed using Administrator Role.

NOTE: If you were using Cassandra database for entities data execute the following migration script:

1
C:\thingsboard>upgrade.bat --fromVersion=2.5.0PE-cassandra

Otherwise execute regular upgrade script:

1
C:\thingsboard>upgrade.bat --fromVersion=2.5.0

Start the service

1
net start thingsboard

Next steps